用户输入用户名/密码并点击按钮后,会发生以下几个步骤:
- 密码已加密并根据小型数据库表 (customMembershipProvider) 检查
- 查询返回用户角色 (customRoleMembershipProvider)
- 运行一个返回大约 30 条记录的查询
FormsAuthentication.RedirectFromLoginPage(userNameTextbox.Text, true);
被调用Response.Redirect(@"~/Home.aspx", true);
调用- 用户到达简单的 html 页面
我已经验证它不是查询(1、2、3 已被缓存,因此它甚至没有访问数据库)。用户被重定向到的页面也被缓存并且上面没有数据库逻辑。在生产中它当然要快得多,但仍然没有我想要的那么活泼。是什么导致了这个问题? 另外,我注意到一旦我登录,下次我登录时(相同或不同的用户)用户会立即被重定向。
谢谢!
最佳答案
您需要提供有关该问题的更多信息。听起来您的方法并没有太多错误,但如果没有看到自定义成员资格和角色提供者,就无法确定减速。
尝试使用 .net 分析器,例如 JetBrains DotTrace这将返回一个基于树的图形,显示执行时间集中在哪里。这应该突出显示最严重的热点,这些热点通常会使问题更加明显。
关于c# - 调试时导致登录重定向缓慢的原因是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4089652/