【问题标题】:ASP.net membership saving data in 2 databasesASP.net 会员将数据保存在 2 个数据库中
【发布时间】:2011-02-10 09:05:28
【问题描述】:

在我们的应用程序中,我们使用 asp.net 成员数据库进行用户和角色管理。我们在我现有的 SQL Express 数据库中安装了数据库表,一切正常..

在后来的开发过程中,我们需要存储一个关于用户的附加信息,即:FullName

为此,我们在 web.config 中创建了一个配置文件,如下所示:

<profile enabled="true">
      <properties>
        <add name="FullName" type="string"/>
      </properties>
</profile>

它也很有效,我们能够轻松地添加和检索用户的全名。但令我们惊讶的是,我们发现数据库中的配置文件表是空的。经过进一步调查,我们发现配置文件信息是没有保存在我们的常规 sqlexpress 数据库中,而是保存在 app-code 文件夹中的新 aspnetdb.mdf 中..

现在,每当我们创建一个新用户时,它都会在两个数据库中创建,但配置文件信息(即:全名)仅保存在 aspnetdb.mdf 中

有人能回答为什么会这样吗??

这是我们网络配置的 sn-p,我们明确指定需要使用我们自己的数据库,而不是默认的 sqlmembershipprovider

<membership defaultProvider="CustomizedMembershipProvider">
  <providers>
    <clear/>
    <add name="CustomizedMembershipProvider"
     connectionStringName="MyConnectionString"
     applicationName="App209"
     commandTimeout="60"
     requiresQuestionAndAnswer="false"
     requiresUniqueEmail="true"
     enablePasswordRetrieval="true"
     enablePasswordReset="true"
     passwordFormat="Encrypted"
     maxInvalidPasswordAttempts="5"
     minRequiredPasswordLength="4"
     minRequiredNonalphanumericCharacters="0"
     passwordAttemptWindow="10"
     passwordStrengthRegularExpression=""
     type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
  </providers>
</membership>
<roleManager enabled="true"
         defaultProvider="CustomizedRoleProvider">
  <providers>
    <add name="CustomizedRoleProvider"
     connectionStringName="MyConnectionString"
     applicationName="App209"
     type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
  </providers>
</roleManager>

有什么帮助吗? 提前致谢

【问题讨论】:

    标签: asp.net-membership


    【解决方案1】:

    您必须将配置文件提供程序配置为使用与其他两个提供程序相同的连接字符串。

    <profile defaultProvider="CustomizedProfileProvider" >
      <providers>
        <clear/>
        <add name="CustomizedProfileProvider" connectionStringName="MyConnectionString" applicationName="App209" type="System.Web.Profile.SqlProfileProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
      </providers>
    </profile>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-28
      • 1970-01-01
      • 2019-09-29
      • 1970-01-01
      • 2012-10-15
      • 1970-01-01
      • 1970-01-01
      • 2011-01-19
      相关资源
      最近更新 更多