Для System.Web.Security.SqlMembershipProvider требуется схема базы данных, совместимая с версией схемы «1». - PullRequest
1 голос
/ 17 марта 2009

Я хочу использовать профили и смог использовать aspent_regsql -A p для установки таблиц. Я вижу их по всей студии управления SQL.

Я на самом деле использую SQLExpress 2005, и мой dbo.aspnet_SchemaVersions заполнен. Кто-нибудь знает, что может пойти не так?

Кстати, я почти уверен, что моя строка подключения и код приложения в порядке. Заранее спасибо.

<system.web>
<membership>

  <providers>

    <remove name="AspNetSqlMembershipProvider" />

    <add name="AspNetSqlMembershipProvider"

      type="System.Web.Security.SqlMembershipProvider,

       System.Web, Version=2.0.0.0, Culture=neutral,                                

       PublicKeyToken=b03f5f7f11d50a3a"

      connectionStringName="RGConnectionString" />

  </providers>

</membership>
<profile>
  <providers>
    <add name="ProfileProvider" type="System.Web.Security.SqlProfileProvider,

       System.Web, Version=2.0.0.0, Culture=neutral,                                

       PublicKeyToken=b03f5f7f11d50a3a"

      connectionStringName="RGConnectionString"/>
  </providers>

Ответы [ 2 ]

5 голосов
/ 17 марта 2009

Ну, дурак из меня. Я был совершенно уверен, что это проблема с базой данных SQLExpress, но на самом деле это был мой web.config файл, который был совершенно странным. Я получил его на работу, добавив правильные свойства для поставщиков:

  <connectionStrings>
    <add name="RGConnectionString"
         connectionString="Data Source=(local)\SQLExpress;Initial Catalog=aspnetdb;Integrated Security=true"
         providerName="System.Data.SqlClient" />
  </connectionStrings>

  <system.web>

    <membership>
      <providers>
        <remove name="AspNetSqlMembershipProvider" />
        <add name="AspNetSqlMembershipProvider"
             type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
             connectionStringName="RGConnectionString" 
             enablePasswordRetrieval="true"
             enablePasswordReset="true"
             requiresQuestionAndAnswer="true"
             requiresUniqueEmail="true"
             passwordFormat="Clear"
             maxInvalidPasswordAttempts="5"
             minRequiredPasswordLength="8"
             minRequiredNonalphanumericCharacters="0"
             passwordAttemptWindow="10"
             passwordStrengthRegularExpression="" 
             applicationName="/" />
      </providers>
    </membership>

    <profile>
      <providers>
        <add name="ProfileProvider"
             type="System.Web.Profile.SqlProfileProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
             connectionStringName="RGConnectionString"
             applicationName="/" />
      </providers>
    </profile>

  </system.web>
3 голосов
/ 20 февраля 2012

Это может произойти, если вы создаете скрипт для своей базы данных, а не заполняете таблицу [aspnet_SchemaVersions]. Эта таблица содержит информацию о схеме таблицы членства. Если эта таблица пуста, вы увидите ошибку о версии членства.

...