Я писал небольшое веб-приложение на 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 (приложение.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, чтобы они были точно такими же, но при входе в систему все равно возникают ошибки.
Я также решил попробовать и использоватьфункция Membership.GetUser () в коде позади, просто чтобы посмотреть, сработает ли она, и для этого тоже возникает ошибка строки инициализации.
Просто для ссылки на мою строку подключения в обоих приложениях.config и web.config теперь:
Data Source=.;Initial Catalog=(DATABASE);User Id=(USERID);Password=(PASSWORD);