jdi*_*iaz 6 sql-server asp.net asp.net-membership
当启动一个需要使用成员资格提供程序的新项目时,我发现无法连接到包含成员资格数据库的远程数据库.
我运行aspnet_regsql并能够在远程服务器上创建成员资格数据库,但是当我转到ASPNET配置(cassini开发服务器)时,它将无法连接到远程服务器.
jdi*_*iaz 18
经过多次搜索后,我发现machine.config(c:\ windows\Microsoft.NET\Framework\v2.0.50727\CONFIG)中指定的默认成员资格提供程序始终指向在localhost上运行的SQL Server.
而不是修改machine.config有一种方法在项目web.config中设置它:
1)将连接字符串设置为远程数据库
<connectionStrings>
<add name="aspnet_membership" connectionString="<your_connection_string>"/>
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)
2)<system.web>
重新定义默认提供者:
<membership>
<providers>
<remove name="AspNetSqlMembershipProvider"/>
<add name="AspNetSqlMembershipProvider"
type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
connectionStringName="aspnet_membership"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="true"
applicationName="/"
requiresUniqueEmail="false"
passwordFormat="Hashed"
maxInvalidPasswordAttempts="5"
minRequiredPasswordLength="7"
minRequiredNonalphanumericCharacters="1"
passwordAttemptWindow="10"
passwordStrengthRegularExpression=""/>
</providers>
</membership>
Run Code Online (Sandbox Code Playgroud)
这<remove name="AspNetSqlMembershipProvider"/>
是关键!所有其他键/值都直接从machine.config获取
归档时间: |
|
查看次数: |
10069 次 |
最近记录: |