Проблемы с развертыванием базы данных - PullRequest
0 голосов
/ 27 сентября 2011

Мне трудно развернуть мой сайт.Я прошел через некоторые ошибки, и они были решены, и я успешно опубликовал свой веб-сайт, но когда я пытаюсь открыть любую страницу, она выдает мне 404 или 500 Ошибка

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

Проблема в том, что я не храню свою строку подключения в файле web.config. Он хранится всвойство в моем базовом классе DAL, и оно используется всеми классами DAL, поэтому я обновил его, но я получаю ту же ошибку

Я не знаю, что не так, я должен включить connectionString в web.config?

NB Когда я собираю пакет и пытаюсь установить активный режим на «release», он возвращает настройку на «debug»!

Ответы [ 5 ]

1 голос
/ 28 сентября 2011

"Проблема в том, что я не храню свою connectionString в web.config. Он хранится в свойстве моего базового класса DAL и используется всеми классами DAL, поэтому я обновил его, но у меня та же ошибка"

Да, жесткое кодирование строк соединения является серьезной проблемой.Чтобы ответить на ваш следующий вопрос «Должен ли я включить connectionString в web.config?», Ответ - ДА.

Что касается правильного развертывания базы данных, вы можете посмотреть эту запись в блоге Я создал в 2008 году.

1 голос
/ 28 сентября 2011

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

В любом случае вы можете включить includeExceptionDetailInFaults в вашем web.config и получить немного больше информации о том, почему ваш сервис отказывает, например, ( msdn ):

<serviceBehaviors>
  <behavior>
    <serviceDebug includeExceptionDetailInFaults="true"/>
  </behavior>
</serviceBehaviors>
1 голос
/ 28 сентября 2011

Предполагая, что ваш DAL является библиотекой классов, я бы сохранил строку подключения в app.config.Таким образом, вы можете легко изменить строку подключения без необходимости вставлять строку подключения в каждое веб-приложение, которое использует библиотеку.

1 голос
/ 28 сентября 2011

«Должен ли я включить connectionString в web.config?»

Да, ваша строка подключения должна быть определена в разделе <connectionStrings> файла web.config именно по этой причине, чтобы вы могли легко изменить параметр, чтобы он указывал на другую среду базы данных при развертывании приложения в другой среде. , без необходимости перекомпилировать ваш код.

0 голосов
/ 10 октября 2011

Извините, но все ответы подсказали мне, что мне нужно поместить 'ConnectionString' в 'Web.config', но на самом деле вся проблема была решена, когда я добавил свое приложение в виртуальный каталог, и мне это не нужноизменить свой слой DAL или добавить что-нибудь в web.config

Конечно, я узнал из ваших ответов, и я ценю это, но нет, мне не нужно ничего добавлять в мой web.config. Если я решил иметьэтот шаблон дизайна.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...