Возможно ли несовпадение версий между версией .NET Framework, на которую ориентирован ваш веб-сайт, и версией .NET Framework Runtime, установленной на веб-сервере?
И вы развертываете веб-сайт, который не был предварительно скомпилирован и / или является обновляемым? -
Обновления .NET Runtime версии предназначены для обеспечения обратной совместимости. Однако я столкнулся с очень похожей проблемой при миграции нескольких веб-сайтов, ориентированных на .NET 4.5.1 Framework, с сервера Windows Server 2008 R2 на сервер Windows Server 2012 R2, исправленный до среды выполнения .NET 4.6. Все мои начальные загрузки страниц (на нескольких веб-сайтах) начали занимать две минуты для каждой отдельной страницы вместо доли секунды. И все мои эксперименты с разными настройками IIS не увенчались успехом.
В конечном итоге мне удалось решить проблему одним из двух способов:
- Полное воссоздание сервера, исправленное до .NET 4.5 Runtime, решило мою проблему (наряду с добавлением параметра реестра, чтобы заблокировать установку .NET 4.6.1 ).
- Кроме того, повторное развертывание моих веб-сайтов с установленным флажком «Предварительная компиляция» и без флажка «Разрешить возможность обновления» также решило мою проблему.
Напротив, все мои попытки откатить или восстановить версию .NET Runtime на сервере до .NET 4.5 Runtime не решили проблемы с загрузкой моей страницы. (По сути, не существует чистого, надежного процесса для полного отката .NET Runtime, за исключением повторного создания образа сервера.)