尽管当初安装VS2005的时候没有一同安装SQLExpress版的数据库,在C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG下的machine.config文件中的<connectionStrings>依然为SQLExpress的连接字符串,所以,当我采用了SQL2005企业版的数据库来做角色管理的时候,连接出错。这时把这里的连接字符串改为目前连接的数据库连接字符串即可。

另外,在应用程序(网站)的根目录下的web.config文件中加入以下两部分内容(红色部分):

<connectionStrings>
    <add name=”MyConnectionString” connectionString=”Data Source=你的连接字符串;Integrated Security=True”
      providerName=”System.Data.SqlClient” />
    <add name=”SqlServices” connectionString=”你的连接字符串;Integrated Security=True” providerName=”System.Data.SqlClient” />
  </connectionStrings>

<roleManager enabled=”true” cacheRolesInCookie=”true” cookieName=”.ASPROLES”>
        <providers>
          <add connectionStringName=”SqlServices” applicationName=”MyApplication”
               name=”SqlProvider” type=”System.Web.Security.SqlRoleProvider” />
         
        </providers>
      </roleManager>

如此即可。

参考:

1。ASP.NET 2.0 中的新增服务、控件与功能概述

2。在ASP.NET 2.0中配置 AspNetSqlMembershipProvider(AspNetSqlProvider )

2。在ASP.NET 2.0中配置 AspNetSqlMembershipProvider(AspNetSqlProvider )