У меня этот код работает на 8 серверах. Теперь встаю следующие 4.
Я воспроизвел эту проблему на всех 4 серверах.
Сначала я получаю:
System.InvalidOperationException: представление «Индекс» или его мастер не найдены, либо механизм представления не поддерживает найденные местоположения.
, и в нем указано правильное расположение index.cshtml
Затем я перезагружаю веб-сайт в IIS. С этого момента все, что я получаю, это:
Не удалось загрузить файл или сборку Microsoft.CSharp, Version = 4.0.0.0, Culture = нейтральный, PublicKeyToken = b03f5f7f11d50a3a или одну из его зависимостей. Либо не был предоставлен требуемый уровень олицетворения, либо предоставленный уровень олицетворения недействителен. (Исключение из HRESULT: 0x80070542)
Я воспроизвел эту последовательность на всех 4 новых серверах.
Четвертое, я не использовал повторно IIS, но отредактировал web.config с теми же ошибками.
Я просмотрел все настройки IIS, и все они выглядят одинаково.
Все права доступа к папке wwwroot кажутся одинаковыми на работающих и неработающих серверах.
Я использую собственный пул приложений, который выглядит одинаково в обоих наборах.
Procmon
сообщает, что он пытается получить доступ к C: \ Windows \ Microsoft.NET \ assembly \ GAC_MSIL \ Microsoft.CSharp \ v4.0_4 .0.0.0__b03f5f7f11d50a3a \ CSharp.dll как NT AUTHORITY \ IUSR
и получение ПЛОХОЕ ИСПОЛЬЗОВАНИЕ
.
Я не решаюсь установить procmon
на производственный сервер, поэтому я не могу сравнить результаты там. Но я вижу, что NT AUTHORITY \ IUSR
НЕ имеет эффективного доступа к этому файлу на работающих серверах.
Даже при том, что я имел , являются олицетворением , набор к истинному на рабочих серверах, устанавливая его на ложь позволил новым серверам начинать работать.
<system.web>
<identity impersonate="false" />
<compilation targetFramework="4.5" />