2

我试图让 SqlProfileProvider 与我自己的数据库一起工作,我已经使用 aspnet_regsql 和以下 web.config 设置了数据库,但应用程序一直在创建一个 aspnetdb,并且从不填充我的数据库中的任何表。

<connectionStrings>
  <add name="Database"
       connectionString="Server=MYSERVER;Integrated Security=True;Initial Catalog=MYDB"
       providerName="System.Data.SqlClient" />
</connectionStrings>
<system.web>
<compilation debug="true" targetFramework="4.0" />
<authentication mode="Windows" />
<membership defaultProvider="AspNetActiveDirectoryMembershipProvider">
<providers>
  <add name="AspNetActiveDirectoryMembershipProvider"
       type="System.Web.Security.ActiveDirectoryMembershipProvider, 
             System.Web, Version=2.0.3600, Culture=neutral, 
             PublicKeyToken=b03f5f7f11d50a3a" />
</providers>
</membership>
<profile defaultProvider="AspNetSqlProfileProvider">
  <providers>
    <clear/>
    <add name="AspNetSqlProfileProvider"   
         type="System.Web.Profile.SqlProfileProvider"
         connectionStringName="Database"
         applicationName="/"/>
  </providers>
</profile>
<roleManager enabled="false" />

4

1 回答 1

3

尝试在<clear />标签之后立即添加<connectionStrings>标签。我似乎记得几年前有过类似的问题,这是由我的 web.config 从其他地方继承连接字符串引起的。

http://msdn.microsoft.com/en-us/library/ayb15wz8.aspx

<connectionStrings>
  <clear />
  <add name="Database"
       connectionString="Server=MYSERVER;Integrated Security=True;Initial Catalog=MYDB"
       providerName="System.Data.SqlClient" />
</connectionStrings>

编辑:

实际上,您还应该将<clear />标签添加到您的会员提供商。

<clear/>常见问题:添加提供程序时不要忘记

于 2011-03-23T20:17:45.297 回答