Строка инициализации .NET 4.0 C # не соответствует Ошибка входа

Я писал небольшое веб-приложение на C # .NET4.0, чтобы попытаться изучить его и привыкнуть к написанию приложений с его помощью.

Мое приложение - это очень просто; у него есть домашняя страница, кнопка входа в систему, которая переводит вас в форму входа, а когда вы входите в систему, вы можете перейти на страницу администратора.

Весь процесс входа в систему выполняется с помощью элементов управления входом .NET, и была создана моя база данных с помощью команды Aspnet_regsql.exe из командной строки Visual Studio (2010).

До сих пор я собирал и тестировал только на своей локальной машине, а теперь хочу попробовать и протестировать на сервере с IIS7.

Я правильно настроил сайт в IIS7, и я могу создать и загрузить сайт без каких-либо проблем - то есть - пока я не попытаюсь войти в систему. Версия SQL, которую я использовал на своем локальном компьютере, - 2008 R2, тогда как версия SQL на сервере - обычная версия 2008. Из-за этого я не мог просто сделать резервную копию моей локальной базы данных и восстановить ее в SQL на сервере, поэтому я вместо этого сгенерировал сценарии и использовал эти сценарии для создания базы данных на сервере.

Теперь, когда я пытаюсь войти в систему, сайта, который находится на сервере, я получаю следующую ошибку:

Format of the initialization string does not conform to specification starting at index 0.

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

Мое приложение в Visual Studio - это решение с 3 проектами; DAL, BLL и само приложение.

Я поискал все строки подключения, которые смог найти во всем решении, и это те строки, которые у меня есть прямо сейчас:

DAL (app.config) (Теперь это изменилось - см. «ИЗМЕНИТЬ 2» в конце вопроса)

<add name="DAL.Properties.Settings.APPNAMEConnectionString"
   connectionString="Data Source=localhost;Initial Catalog=(DATABASE NAME);uid=(USER ID);pwd=(PASSWORD)"
   providerName="System.Data.SqlClient" />

Приложение (web.config) (Сейчас это изменилось - см. «ИЗМЕНИТЬ 2» в конце вопроса)

<add name="LocalSqlServer" connectionString="server=localhost;database=(DATABASE NAME);uid=(USER ID);pwd=(PASSWORD)"/>

Это первый раз, когда я когда-либо пытался разместить приложение C # .NET 4.0 на сервере, так что у меня действительно есть не знаю, что я делаю неправильно.

Любая помощь будет принята с благодарностью!

РЕДАКТИРОВАТЬ 1:

По просьбе Дэна Ф, вот код членства, который я смог найти в моем файле web.config:

    <membership>
        <providers>
            <clear/>
            <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
            connectionStringName="LocalSqlServer"
            applicationName="/APPNAME"
            enablePasswordRetrieval="false"
            enablePasswordReset="true"
            requiresQuestionAndAnswer="false"
            requiresUniqueEmail="true"
            passwordFormat="Hashed"
            maxInvalidPasswordAttempts="5"
            minRequiredPasswordLength="5"
            minRequiredNonalphanumericCharacters="0"
            passwordAttemptWindow="10"
            passwordStrengthRegularExpression=""/>
        </providers>
    </membership>
    <profile>
        <providers>
            <clear/>
            <add name="AspNetSqlProfileProvider" connectionStringName="LocalSqlServer" applicationName="/APPNAME" type="System.Web.Profile.SqlProfileProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
        </providers>
    </profile>
    <roleManager enabled="true">
        <providers>
            <clear/>
            <add name="AspNetSqlRoleProvider" connectionStringName="LocalSqlServer" applicationName="/APPNAME" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
            <add name="AspNetWindowsTokenRoleProvider" applicationName="/APPNAME" type="System.Web.Security.WindowsTokenRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
        </providers>
    </roleManager>

РЕДАКТИРОВАТЬ 2: Я только что протестировал использование DAL, чтобы получить список пользователей из таблицы членства, которую генерирует aspnet_regsql.exe, и он работал нормально. Поэтому я скопировал строку подключения из DAL app.config в приложение web.config, чтобы они были точно такими же, но я все еще получаю ошибки при попытке входа в систему.

Я также решил попробовать использовать членство. GetUser () в коде, стоящем за ним, чтобы посмотреть, будет ли она работать, и для нее также возникает та же ошибка строки инициализации.

Просто для справки моя строка подключения в app.config и web.config: сейчас:

Data Source=.;Initial Catalog=(DATABASE);User Id=(USERID);Password=(PASSWORD);
5
задан Jake Lucas 17 July 2011 в 08:37
поделиться