【发布时间】: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>
有什么帮助吗? 提前致谢
【问题讨论】: