Membership.ValidateUser很慢

时间:2013-03-07 17:01:17

标签: c# asp.net performance authentication membership

我正在使用System.Web.Sercurity.Membership方法来处理我们的网络服务用户。我在测试期间非常满意,因为我们的数据库和Web服务驻留在同一台服务器上。

当数据库和Web服务移动到单独的服务器时,当我们使用Membership.ValidateUser(username, password)命令对用户进行身份验证时,我们会遇到很大的延迟。

配置文件详细信息:

type="System.Web.Providers.DefaultMembershipProvider, 
      System.Web.Providers, Version=1.0.0.0, Culture=neutral,    
      PublicKeyToken=*********" 
connectionStringName="BlaBlaConnection" 
enablePasswordRetrieval="false" enablePasswordReset="true" 
RequiresQuestionAndAnswer="false" requiresUniqueEmail="false"       
maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6"   
minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" 
applicationName="/"

1 个答案:

答案 0 :(得分:1)

问题与数据库框的权限有关 本文帮助:https://elgg.leeds.ac.uk/webteam/weblog/15385.html

我们的数据库人员将应用程序池标识和域计算机标识添加到数据库框和.NET根目录,授予读/写访问权限。

当重新映像服务器时,这些目录的UNC路径不在C:驱动器上,因此它们不会继承“正常”ACL权限

如果纠正了这个问题,时间会逐渐减少, 但是对于我想要的东西来说仍然有点慢(Membership.ValidateUser(username, password);的平均时间约为4秒 和Roles.IsUserInRole(username, item.Role);每小时10,000载荷)