У меня этот код работает на 8 серверах. Теперь встаю следующие 4.
Я воспроизвел эту проблему на всех 4 серверах.
Сначала получаю:
System.InvalidOperationException: представление Index или его мастер не найдены, либо механизм представления не поддерживает найденные местоположения.
и в нем указано правильное расположение 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
и получение BAD IMPERSONATION
.
Я не решаюсь установить procmon
на производственном сервере, поэтому я не могу там сравнивать результаты. Но я вижу это NT AUTHORITY\IUSR
НЕ имеет эффективного доступа к этому файлу на работающих серверах.
Хотя у меня было олицетворять установить значение true на рабочих серверах, установка значения false позволяет новым серверам начать работу.
<system.web>
<identity impersonate="false" />
<compilation targetFramework="4.5" />