Платформа ASP.NET не может загрузить веб-приложение

У меня есть предварительно скомпилированное веб-приложение ASP.NET 4.5, которое переходит от работы к ошибке с сообщением:

System.Web.HttpException: файл "" не был предварительно скомпилирован и не может быть запрошен.

Я видел это раньше во время развертывания, когда не все предварительно скомпилированные файлы были заменены в папке bin. Однако в этом случае на сервере ничего не обновлялось и не изменялось.

Судя по тому, как ошибка только начинает появляться, кажется, что пул приложений перерабатывается, и у нового рабочего процесса есть проблема с доступом к файлу. Ничего не отображается ни в журналах событий приложения, ни в журналах системных событий, указывающих на то, что пул приложений перезагружается (даже если все настройки пула приложений настроены на регистрацию всех событий пула приложений) или домен приложения разбился / выгружен.

Выполнение перезапуска пула приложений или iisreset устраняет проблему, и iis может снова обслуживать приложение.

Что могло вызвать такое поведение?

Окружающая среда

  • Центр обработки данных Windows 2016
  • Приложение находится на локальном диске
  • Запуск под учетной записью домена

person Aaron    schedule 26.11.2019    source источник
comment
comment
В Windows Server 2016 вы не сможете использовать .NET Framework 4.5. Скорее всего, вы столкнулись с ошибкой stackoverflow.com/questions/55272598/   -  person Lex Li    schedule 26.11.2019
comment
@PrashantPimpale проблема не в том, что они не скомпилированы или представляют собой смесь скомпилированных и нет. Дело в том, что происходит переход от нормального выполнения к неожиданному возврату страницы в запросе, которая не была предварительно скомпилирована.   -  person Aaron    schedule 27.11.2019
comment
@LexLi не уверен, что вы имеете в виду, говоря, что не можете использовать фреймворк .net 4.5 на сервере 2016. Не могли бы вы уточнить? Ошибка выглядит многообещающей, хотя я не вижу файлов .deleted, о которых она говорит, а у нас не работает версия 4.7.   -  person Aaron    schedule 27.11.2019
comment
Windows Server 2016 поставляется с .NET Framework 4.6, так что вы застряли на этой версии. Поскольку вы не используете 4.7, эта ошибка также не имеет значения. В общем, вам следует обратиться в службу поддержки Microsoft, так как отладить такие проблемы непросто.   -  person Lex Li    schedule 27.11.2019
comment
Возможная причина в том, что у нас есть предварительно скомпилированный веб-сайт, и в его корневой папке у нас есть другая папка с содержимым для другого приложения asp.net, но не отмеченная как приложение в IIS. ASP.Net отслеживает приложения asp.net при запуске в IIS с помощью виртуальных каталогов в IIS, отмеченных как приложения. Дочерняя папка с нескомпилированным содержимым в родительском приложении, которое предварительно скомпилировано, снова вызовет эту ошибку. stackoverflow.com/questions/49868708/   -  person Jalpa Panchal    schedule 27.11.2019