具有MVC 5应用程序的多个连接字符串

时间:2014-10-27 20:11:14

标签: asp.net asp.net-mvc asp.net-mvc-5

因此,我的网络配置的关键部分如下:

<connectionStrings>
    <add name="AppConnection" connectionString="Server=100.100.100.100;Database=AppDB;User Id=user;Password=password;" providerName="System.Data.SqlClient"/>
    <add name="MemberConnection" connectionString="Server=100.100.100.100;Database=aspnetdb;User Id=user;Password=password;" providerName="System.Data.SqlClient"/>
</connectionStrings>

并在会员提供者部分内:

<membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="15">
  <providers>
    <clear />
    <add name="SqlProvider"
      type="System.Web.Security.SqlMembershipProvider"
      connectionStringName="MemberConnection"
      applicationName="Consulate"
      enablePasswordRetrieval="false"
      enablePasswordReset="true"
      requiresQuestionAndAnswer="false"
      requiresUniqueEmail="true"
      passwordFormat="Hashed"
      maxInvalidPasswordAttempts="5"
      minRequiredPasswordLength="6"
      minRequiredNonalphanumericCharacters="0"
      passwordAttemptWindow="10"
      passwordStrengthRegularExpression=""  />
  </providers>
</membership>

如上所述,当我注册时,它会连接到错误的数据库。

但是,如果我将“MemberConnection”的所有实例更改为“DefaultConnection”,则可以正常工作。

为什么必须使用“Default”作为连接字符串名称的一部分?

1 个答案:

答案 0 :(得分:2)

在IdentityModels.cs中,ApplicationDbContext的构造函数继承了硬编码的“DefaultConnection”字符串。

将其更改为与aspnetdb(成员资格)相关的连接字符串,并且有效。