MVC 5 IIS;在 web.config 之前使用 machine.config
MVC 5 IIS; Using machine.config prior to web.config
我正在尝试将 MVC5 网站部署到 IIS7 服务器。该网站使用 Asp.net 会员资格。
尝试连接到我的 SQlServer 时,网站正在尝试使用 machine.config 连接字符串 "LocalSqlServer"。
但是我没有指定使用这个ConnectionString。我如何更改此行为,以便它在 web.config 中使用给定的 connectionString 而不是 machine.cofnig.
public ApplicationDbContext()
: base("XXXXMembership", throwIfV1Schema: false)
{
}
Web.Config :
<connectionStrings>
<add name="XXXXMembership" connectionString="Data Source=xxxxxxxx;Initial Catalog=xxxxx;user id=xxxxx;password=xxxx;MultipleActiveResultSets=True" providerName="System.Data.SqlClient" />
</connectionStrings>
将此添加到 <connectionStrings>
部分的顶部
<connectionStrings>
<clear />
<remove name="LocalSqlServer" />
<add name="XXXXMembership" connectionString="Data Source=xxxxxxxx;Initial Catalog=xxxxx;user id=xxxxx;password=xxxx;MultipleActiveResultSets=True" providerName="System.Data.SqlClient" />
</connectionStrings>
发布应用程序时,请确保更改要在向导中使用的数据库。
@stevenackley 在添加您的解决方案并将其添加到我的 LocalWebConfig 之后。有效。
<membership>
<providers>
<clear/>
<add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="XXXMembership" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="/" requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="7" minRequiredNonalphanumericCharacters="1" passwordAttemptWindow="10" passwordStrengthRegularExpression="" />
<add name="MySQLMembershipProvider" type="MySql.Web.Security.MySQLMembershipProvider, MySql.Web, Version=6.5.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" connectionStringName="LocalMySqlServer" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="/" requiresUniqueEmail="false" passwordFormat="Clear" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="7" minRequiredNonalphanumericCharacters="1" passwordAttemptWindow="10" passwordStrengthRegularExpression="" />
</providers>
</membership>
<profile>
<providers>
<clear/>
<add name="AspNetSqlProfileProvider" connectionStringName="XXXMembership" applicationName="/" type="System.Web.Profile.SqlProfileProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<add name="MySQLProfileProvider" type="MySql.Web.Profile.MySQLProfileProvider, MySql.Web, Version=6.5.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" connectionStringName="LocalMySqlServer" applicationName="/" />
</providers>
</profile>
<roleManager>
<providers>
<clear/>
<add name="AspNetSqlRoleProvider" connectionStringName="XXXMembership" applicationName="/" type="System.Web.Security.SqlRoleProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<add name="AspNetWindowsTokenRoleProvider" applicationName="/" type="System.Web.Security.WindowsTokenRoleProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<add name="MySQLRoleProvider" type="MySql.Web.Security.MySQLRoleProvider, MySql.Web, Version=6.5.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" connectionStringName="LocalMySqlServer" applicationName="/" />
</providers>
我正在尝试将 MVC5 网站部署到 IIS7 服务器。该网站使用 Asp.net 会员资格。
尝试连接到我的 SQlServer 时,网站正在尝试使用 machine.config 连接字符串 "LocalSqlServer"。
但是我没有指定使用这个ConnectionString。我如何更改此行为,以便它在 web.config 中使用给定的 connectionString 而不是 machine.cofnig.
public ApplicationDbContext()
: base("XXXXMembership", throwIfV1Schema: false)
{
}
Web.Config :
<connectionStrings>
<add name="XXXXMembership" connectionString="Data Source=xxxxxxxx;Initial Catalog=xxxxx;user id=xxxxx;password=xxxx;MultipleActiveResultSets=True" providerName="System.Data.SqlClient" />
</connectionStrings>
将此添加到 <connectionStrings>
部分的顶部
<connectionStrings>
<clear />
<remove name="LocalSqlServer" />
<add name="XXXXMembership" connectionString="Data Source=xxxxxxxx;Initial Catalog=xxxxx;user id=xxxxx;password=xxxx;MultipleActiveResultSets=True" providerName="System.Data.SqlClient" />
</connectionStrings>
发布应用程序时,请确保更改要在向导中使用的数据库。
@stevenackley 在添加您的解决方案并将其添加到我的 LocalWebConfig 之后。有效。
<membership>
<providers>
<clear/>
<add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="XXXMembership" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="/" requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="7" minRequiredNonalphanumericCharacters="1" passwordAttemptWindow="10" passwordStrengthRegularExpression="" />
<add name="MySQLMembershipProvider" type="MySql.Web.Security.MySQLMembershipProvider, MySql.Web, Version=6.5.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" connectionStringName="LocalMySqlServer" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="/" requiresUniqueEmail="false" passwordFormat="Clear" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="7" minRequiredNonalphanumericCharacters="1" passwordAttemptWindow="10" passwordStrengthRegularExpression="" />
</providers>
</membership>
<profile>
<providers>
<clear/>
<add name="AspNetSqlProfileProvider" connectionStringName="XXXMembership" applicationName="/" type="System.Web.Profile.SqlProfileProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<add name="MySQLProfileProvider" type="MySql.Web.Profile.MySQLProfileProvider, MySql.Web, Version=6.5.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" connectionStringName="LocalMySqlServer" applicationName="/" />
</providers>
</profile>
<roleManager>
<providers>
<clear/>
<add name="AspNetSqlRoleProvider" connectionStringName="XXXMembership" applicationName="/" type="System.Web.Security.SqlRoleProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<add name="AspNetWindowsTokenRoleProvider" applicationName="/" type="System.Web.Security.WindowsTokenRoleProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<add name="MySQLRoleProvider" type="MySql.Web.Security.MySQLRoleProvider, MySql.Web, Version=6.5.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" connectionStringName="LocalMySqlServer" applicationName="/" />
</providers>