==> Предоставление дополнительных информаций:
Журнал: Уведомление об изменении критических каталогов. bin dir change или переименовать каталог HostingEnvironment инициирует выключение Уведомление об изменении для критических каталогов. bin dir change or directory rename Измените уведомление для критических каталогов.бен изменить реж или каталог переименования HostingEnvironment вызвало отключение
Чтобы получить «эмитент» я написал в Application_End следующее:
var path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "bin");
var dirInfo = new DirectoryInfo(path);
FileInfo[] files = dirInfo.GetFiles().OrderByDescending(p => p.LastWriteTime).Take(3).ToArray();
foreach (var item in files)
{
Log.Info("FILE: " + item.FullName + " | " + item.LastWriteTime);
}
** LastWriteTime всегда в тот же день, так что я могу **» т подтверждение есть любая модификация ****
Я также войти в StackTrace:!?
at System.Environment.GetStackTrace(Exception e, Boolean needFileInfo) at System.Environment.get_StackTrace() at System.Web.Hosting.HostingEnvironment.InitiateShutdownInternal() at System.Web.Hosting.HostingEnvironment.InitiateShutdownWithoutDemand() at System.Web.HttpRuntime.ShutdownAppDomain(String stackTrace) at System.Web.HttpRuntime.OnCriticalDirectoryChange(Object sender, FileChangeEvent e) at System.Web.FileChangesMonitor.OnCriticaldirChange(Object sender, FileChangeEvent e) at System.Web.DirectoryMonitor.FireNotifications() at System.Web.Util.WorkItem.CallCallbackWithAssert(WorkItemCallback callback) at System.Web.Util.WorkItem.OnQueueUserWorkItemCompletion(Object state) at System.Threading.QueueUserWorkItemCallback.WaitCallback_Context(Object state) at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem() at System.Threading.ThreadPoolWorkQueue.Dispatch() at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()
Edit: Спасибо за ваш комментарий, я изменил код в app_end на:
var dirInfo = new DirectoryInfo(AppDomain.CurrentDomain.BaseDirectory);
FileInfo[] files = dirInfo.GetFiles("*.*", SearchOption.AllDirectories).OrderByDescending(p => p.LastWriteTime).Take(3).ToArray();
foreach (var item in files)
{
Log.Info("FILE: " + item.FullName + " | " + item.LastWriteTime);
}
Он отображает всегда одни и те же 3 * .compiled файлы, но LastWriteTime будет равна дате публикации, так что является причиной " bin dir change или directory rename "?
Вы проверили время ожидания простоя вашего пула приложений? Если в течение определенного периода времени нет запроса, пул переходит в режим ожидания, а затем перезапускается, когда приходит какой-либо запрос. – Fals
Спасибо за ваш ответ, но проблема заключается не в том, что пул приложений отключен. Проблема заключается в том, что после перезапуска после таймаута она снова динамически компилирует страницы, что приводит к немедленному перезапуску приложения. Этого не должно быть, потому что его следовало предварительно скомпилировать. –
Есть ли несколько сайтов на одном сервере? у вас есть антивирус, установленный на сервере? ваши представления динамически генерируются? –