Я перенес свой сайт ASP.Net с одного UNC-пути на другой, но подпапка дает мне AspNetHostingPermission

Я перенес свой веб-сайт ASP.Net с пути UNC на одном сервере на новый путь UNC на новом, более крупном сервере.

После того, как возиться с разрешениями Code Access Security вcaspol и убедившись, что AppPool имеет правильные настройки, веб-сайт работает нормально, без дурака "PolicyException: необходимые разрешения не могут быть получены" ошибки CAS.

Однако проблема в том, что у меня есть подкаталог, настроенный как его собственное веб-приложение. Это приложение дает мне ошибку желтого экрана смерти:

System.Security.SecurityException: сбой запроса разрешения типа "System.Web.AspNetHostingPermission, System, Version=2.0.0.0, Culture= нейтральный, PublicKeyToken=b77a5c561934e089".

Теперь я знаю, что сайт работает в режиме полного доверия, так почему же это приложение subdir не работает?

1 ответ

(Отвечая на мой собственный вопрос в то же время, что и его)

Хотя многие настройки унаследованы от родительского сайта, следующие вещи необязательны (они доступны в диалоговом окне "Дополнительные параметры" для приложения подкаталога):

  • Пул приложений
  • Физический Путь
  • Учетные данные физического пути
  • Физический путь Учетные данные Тип входа
  • Включенные протоколы

Снимок экрана: диалоговое окно

Глядя на Расширенные настройки приложения, я увидел, что Физический путь по-прежнему ссылается на путь UNC старого сервера. После изменения политик CAS это больше не будет работать. Исправление пути UNC позволило устранить проблему.

Бонусные очки

Другим контрольным знаком была запись уровня предупреждения в журнале приложений:

Код события: 3006
Сообщение о событии: произошла ошибка синтаксического анализатора.
...
Код детали события: 0

Информация о приложении:

Область применения: / LM / W3SVC / 3 / ROOT /[отредактировано]
Уровень доверия: Полный
Виртуальный путь к приложению: [отредактировано]
Путь к приложению: [старый UNC-путь]
Имя машины: [отредактировано]

Обрабатывать информацию:

Идентификатор процесса: 4592
Имя процесса: w3wp.exe
Имя учетной записи: [отредактировано]

Информация об исключении:

Тип исключения: HttpException
Сообщение об исключении: Сбой запроса разрешения типа "System.Web.AspNetHostingPermission, System, Version=2.0.0.0, Culture= нейтральный, PublicKeyToken=b77a5c561934e089".

Другие вопросы по тегам