Изменение на web.config на сервере не вступает в силу

когда я отлаживаю свой сайт локально с помощью Visual Studio, изменение в web.config вступает в действие без каких-либо проблем.

Однако, когда я делаю то же самое изменение в web.config на моем хосте сервера (работает с IIS 7.5), похоже, что сайт все еще работает со старой версией web.config, когда загружаю его в свой браузер. Новые изменения не применяются.

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

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

ДО:

<authorization>
  <deny users="?" />
  <allow roles="admins" />
  <deny users="*" />
</authorization>

ПОСЛЕ:

<authorization>
  <allow users="*" />
</authorization>

В чем причина этого?

Ответ 1

Вам нужно reset IIS. Просто откройте командную строку и запустите IISRESET, и вы должны быть хорошими.

Ответ 2

Вы развертываете, публикуете или копируете? Убедитесь, что параметры отладки и выпуска одинаковы. Существуют также случаи, когда виртуальный каталог не настроен правильно, и правильный webconifg не загружается.

Ответ 3

Я обнаружил, что если я попытаюсь изменить Web.config непосредственно через файловую систему (на сервере IIS), мои изменения не будут сохранены и, следовательно, не будут применены. Это то, что я нашел для меня, работает, если у вас есть доступ к IIS на главном сервере:

ПРИМЕЧАНИЕ.. Эти инструкции основаны на IIS 8 на Windows Server 2012, но могут работать и для IIS 7.5.

  • Перейдите в диспетчер IIS на хост-сервере.
  • Разверните узел, пока не найдете свое приложение
  • Используя представление "Функции", дважды щелкните "Правила авторизации"
  • Используйте ссылку Add Allow Rule... и Add Deny Rule... в панели Действия (справа), чтобы настроить все ваши правила авторизации.

Этот процесс обновляет Web.config для вас. Если вам нужно отредактировать или удалить правило, нажмите на соответствующее правило, а затем нажмите ссылку Изменить... или Удалить на панели Действия.

Надеюсь, это поможет.

Ответ 4

Скопируйте файл web.config с вашего сервера и поместите его на свой локальный компьютер и измените в соответствии с вашими требованиями. Затем удалите файл web.config на сервере и скопируйте и вставьте измененный файл web.config с локальной машины на сервер.

Эта работа для меня, но для меня connectionstring был проблемой.

Ответ 5

Вы должны сделать следующее действие

  1. Нажмите меню BUILD
  2. выберите Чистое Решение
  3. после того
  4. выберите Перестроить приложение
  5. Опубликованные файлы (коды)

Выше этого действия, он работает нормально, без проблем.

Отражение изменений в службах IIS

Ответ 6

От MSDN - Web.Config

Любые изменения в файле web.config потребуют перезапуска службы "Администрирование Microsoft IIS", чтобы изменения вступили в силу.