Это неправильный путь, и это может привести к серьезным ошибкам по времени.
Параметр влияет на компиляцию ASP.NET, поэтому он принудительно загружает сборку только тогда, когда представления ASP.NET компилируются и компилируются не более одного раза - либо при первом запросе к представлению, либо во время процесса предварительной компиляции на месте, если последняя настройка. В любом случае наступит момент времени, когда не нужно компилировать представление ASP.NET.
Теперь есть автоматическая перезапуск приложения IIS каждые 29 часов. Когда пул перезапускается, он запускает новый рабочий процесс, и этот процесс начинает размещать полезную нагрузку сайта. Важно то, что представления ASP.NET не меняются во время этого процесса, поэтому их не нужно перекомпилировать, поэтому процесс компиляции не вызывается, и поэтому сборки, перечисленные в <system.web><compilation><assemblies>
, не принудительно загружаются.
Таким образом, вещь выглядит работающей, пока не пройдет 29 часов, а затем она просто развалится.
Требуется лучшее решение. Что-то вроде настройки в <appSettings>
, указывающей, должна ли быть доступна среда выполнения Azure. Если этот параметр задан, код может выполнить первый вызов кода внутри сборок среды выполнения Azure, и это заставит их загружаться. если настройка не установлена, он не пытается вызвать этот код.