c# - 调试时导致登录重定向缓慢的原因是什么?

标签 c# asp.net authentication asp.net-membership

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

  1. 密码已加密并根据小型数据库表 (customMembershipProvider) 检查
  2. 查询返回用户角色 (customRoleMembershipProvider)
  3. 运行一个返回大约 30 条记录的查询
  4. FormsAuthentication.RedirectFromLoginPage(userNameTextbox.Text, true); 被调用
  5. Response.Redirect(@"~/Home.aspx", true); 调用
  6. 用户到达简单的 html 页面

我已经验证它不是查询(1、2、3 已被缓存,因此它甚至没有访问数据库)。用户被重定向到的页面也被缓存并且上面没有数据库逻辑。在生产中它当然要快得多,但仍然没有我想要的那么活泼。是什么导致了这个问题? 另外,我注意到一旦我登录,下次我登录时(相同或不同的用户)用户会立即被重定向。

谢谢!

最佳答案

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

尝试使用 .net 分析器,例如 JetBrains DotTrace这将返回一个基于树的图形,显示执行时间集中在哪里。这应该突出显示最严重的热点,这些热点通常会使问题更加明显。

关于c# - 调试时导致登录重定向缓慢的原因是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4089652/

相关文章:

c# - 在 TableAdapter 的填充查询中使用变量

c# - 在 silverlight 中调用一个 aspx 页面,而不打开它

security - 离线用户身份验证的最佳模型是什么?

c# - 如何使用 FluentMigrator 运行配置文件迁移?

c# - 在同类之外不被认可的公共(public)结构

javascript - 如何使用工具栏打开弹出窗口

c# - SqlConnection 类中的默认网络协议(protocol)是什么

ios - 在 iOS 应用程序启动时有条件地切换 Root View Controller 的最佳方法

c++ - C++ 中的 Windows LDAP 身份验证

c# - 使用 WPF/C# 嵌入 Chromium 而不是 IE WebBrowser 控件的选项