调试时导致慢速登录重定向的原因是什么?

时间:2010-11-03 17:12:25

标签: c# asp.net login asp.net-membership

用户输入用户名/密码并点击按钮后,会发生以下几个步骤:

  1. 密码已加密并针对小型数据库表(customMembershipProvider)进行检查
  2. 查询返回用户角色(customRoleMembershipProvider)
  3. 运行一个返回约30条记录的查询
  4. FormsAuthentication.RedirectFromLoginPage(userNameTextbox.Text, true);被称为
  5. Response.Redirect(@"~/Home.aspx", true);被称为
  6. 用户到达简单的html页面
  7. 我已经确认这不是查询(1,2,3已被缓存,因此它甚至没有命中数据库)。用户重定向到的页面也会被缓存,并且没有数据库逻辑。在生产中它当然要快得多,但仍然没有我想要的那么快。可能导致此问题的原因是什么? 此外,我注意到,一旦我登录,下次登录(相同或不同的用户)时,用户即时重定向。

    谢谢!

2 个答案:

答案 0 :(得分:2)

您需要提供有关该问题的更多信息。没有听起来像你的方法有太多错误,但没有看到自定义成员资格和角色提供者无法确定减速。

尝试使用JetBrains DotTrace之类的.net探查器,它将返回基于树的图表,显示执行时间集中的位置。这应该突出最严重的热点,通常可以使问题更加明显。

答案 1 :(得分:0)

原来这种缓慢只是由以下组合引起的:

Windows 7旗舰版,VS2010旗舰版,任何CPU配置

通过添加x86调试配置并使用它而不是Any CPU配置来修复。