2013-03-25 3 views
0

У меня есть приложение MVC4, которое использует SQL-сервер для данных. У меня также есть простой поставщика членства и это таблицы хранятся в той же базе данных, и оба используют ту же строку соединения:Простое членство в ASP.NET MVC4 не работает

<connectionStrings><add name="bazaConnectionString" connectionString="DataSource=WINSERVER;Initial Catalog=baza;Persist Security Info=True;User ID=visualstudio;Password=xxx" providerName="System.Data.SqlClient" /> 

Когда я протестировать приложение в Visual Studio все работает нормально, но когда я опубликовал проект и привязал его к веб-серверу IIS8 (на том же компьютере, что и сервер sql), простое членство не работает.

Сначала я думал, что что-то не так с строкой соединения, но другие функции из приложения, которые его используют, работают нормально. Но как только я нажимаю на то, что использует членство как Логин он дает ошибку:

  • WinException 0x80004005 Файл не найден SqlException 0x80131904
  • сеть связанных или экземпляра конкретных ошибок

Может кто-нибудь помогите мне в этом, иначе, я думаю, мне придется написать свою собственную авторизацию авторизации пользователя в каждом контроллере.

Обновление: После нескольких попыток кажется, что проблема связана с атрибутом [Авторизоваться] и средством AccountController, созданным визуальной студией. Потому что, если я вызываю методы WebSecurity, например Login, где-нибудь еще, он работает.

ответ

0

Наиболее вероятная причина в том, что ваше приложение использует другую базу данных для хранения простой информации о членстве.

Просмотрите папку app_Data на вашем компьютере, и если вы видите там файл .mdf, вы наверняка используете для этого другой db. Эта проблема возникает, когда приложение asp.net пытается найти файл localdb в папке app_Data для присоединения, но не может его найти. Переконфигурируйте простой поставщик членства для использования данной строки подключения в этом случае.

Кроме того, убедитесь, что вы не используете инструменты настройки asp.net для создания пользователей и ролей, поскольку он всегда будет создавать localdb, если не указано db.

+0

Он использует ту же базу данных, я изменил ее в файле, где сделан вызов WebSecurity.InitializeDatabaseConnection. – Domi

+0

Вы проверили папку app_Data вашего локального проекта? –

+0

Я удалил базу данных по умолчанию, которая была там. – Domi

Смежные вопросы