SqlProfileProvider - PullRequest
       24

SqlProfileProvider

2 голосов
/ 22 марта 2011

Я пытаюсь заставить 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" />

1 Ответ

3 голосов
/ 23 марта 2011

Попробуйте добавить тег <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/> при добавлении провайдеров

...