Ошибка конфигурации при входе в админку

После настройки строки подключения asp.net в файле веб-конфигурации мой веб-сайт запускается, но когда я пытаюсь войти в свою админку, я получаю сообщение об ошибке

Ошибка конфигурации

Описание: Произошла ошибка при обработке файла конфигурации, необходимого для обслуживания этого запроса. Ознакомьтесь с приведенными ниже сведениями об конкретной ошибке и соответствующим образом измените файл конфигурации.

Сообщение об ошибке синтаксического анализатора: имя подключения «MyconnectionStringName» не найдено в конфигурации приложений или строка подключения пуста.

Ошибка источника:

<providers>
Line 16:        <remove name="AspNetSqlMembershipProvider"/>
Line 17:        <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="MyConnectionStringName" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="/" requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" passwordStrengthRegularExpression=""/>
Line 18:      </providers>
Line 19:    </membership>

но он отлично работал на локальном сервере.

Мой файл web.config

<?xml version="1.0"?>
<!--
  For more information on how to configure your ASP.NET application, please visit
  http://go.microsoft.com/fwlink/?LinkId=169433
  -->
<configuration>

    <connectionStrings>
  <add name="AsconConnectionString" connectionString="LoginDetails"
   providerName="System.Data.SqlClient" />
 </connectionStrings>
 <system.web>
<customErrors mode="Off"/>
   <membership>
     <providers>
       <remove name="AspNetSqlMembershipProvider"/>
       <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="ConnectionDetails" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="/" requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" passwordStrengthRegularExpression=""/>
     </providers>
   </membership>
        <roleManager enabled="true" />
  <authentication mode="Forms" />
  <compilation debug="false" targetFramework="4.0"/>
    </system.web>
</configuration>

person user3055606    schedule 29.01.2014    source источник


Ответы (1)


У меня была такая же проблема. Он будет работать локально, но для работы на сервере вам необходимо обновить версию схемы до вашей базы данных. вы не будете использовать aspnetdb.mdf напрямую

вы можете найти сценарий для этого и обновить его с помощью своей БД. надеюсь, это может решить вашу проблему

загрузите этот скрипт по этой ссылке https://drive.google.com/file/d/0B2D0SiDP8hTFN2tDX04zYVp6OXc/edit?usp=sharing

теперь вам нужно добавить это в свой файл конфигурации

<system.web>
<!-- membership provider -->
<roleManager enabled="true">
  <providers>
    <clear/>
    <add name="AspNetSqlRoleProvider"
        connectionStringName="myportalconstr"
        applicationName="/"
        type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
  </providers>
</roleManager>
<membership>
  <providers>
    <clear/>
    <add name="AspNetSqlMembershipProvider"
        connectionStringName="myportalconstr"
        applicationName="/"
    type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0,           Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
  </providers>
</membership>

 <trust level="Full" /> 
  <customErrors mode="Off" defaultRedirect="home"/>
  <anonymousIdentification enabled="true"/>

  <profile enabled="true">
  <providers>
    <clear/>
    <add applicationName="/myportal"  connectionStringName="myportalconstr"     name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider"/>
  </providers>

</profile>
</system.web>
person Mer Hardik    schedule 29.01.2014
comment
После того, как я экспортировал свою базу данных на онлайн-сервер, я заметил, что dbo. добавляется в качестве префикса к каждому моему имени таблицы, это то, что вы имеете в виду? Пожалуйста, как мне обновить схему, пожалуйста, помогите мне. даже с добавленным префиксом мой сайт по-прежнему получает данные из базы данных и работает отлично, но только не входит в систему. Как мне это сделать, пожалуйста - person user3055606; 29.01.2014
comment
проверьте мой обновленный ответ, я прикрепил скрипт и код, которые вам нужно добавить в файл конфигурации. отметь как ответ, если помогло. Благодарность :) - person Mer Hardik; 29.01.2014
comment
dbo — это схема по умолчанию в SQL Server. в настоящее время нет необходимости изменять это - person Mer Hardik; 29.01.2014
comment
что я могу сделать, чтобы мой вход в систему работал? мне нужно настроить файл веб-конфигурации, чтобы разрешить роль или что. пожалуйста, проверьте мой файл веб-конфигурации выше - person user3055606; 29.01.2014
comment
Где мне запустить скрипт aspnetdb.sql? и как он работает? - person user3055606; 29.01.2014
comment
запустите его с вашей текущей БД для вашего приложения. он обновит схему БД. поскольку вы не можете использовать aspnetdb непосредственно на своем сервере. поэтому вы настраиваете его с помощью своей базы данных - person Mer Hardik; 29.01.2014
comment
вот как моя таблица базы данных называется на рабочем сервере, например: dbo.aspnet_Roles. Сценарий, который я использую на своем рабочем сервере, заключается в том, что я генерирую сценарий aspnetdb из своего VS2010 и запускаю его на sql2005 для создания резервной копии, а затем восстанавливаю его на рабочем сервере. Пожалуйста, я делаю что-то не так? - person user3055606; 29.01.2014
comment
запустите это в своей базе данных, которую вы используете для своего приложения. например, я использую базу данных myportal.mdf, чтобы запустить этот скрипт в этой базе данных. поэтому таблицы в файле скрипта будут добавлены в ваш myportal.mdf - person Mer Hardik; 30.01.2014