==> Предоставление дополнительной информации:
Журнал: Уведомление об изменении для важных каталогов. bin изменение каталога или переименование каталога HostingEnvironment инициировал завершение работы Уведомление об изменении для критических каталогов. bin изменение каталога или переименование каталога Уведомление об изменении критических каталогов. изменение каталога bin или переименование каталога 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()
Изменить: Спасибо за ваш комментарий, я изменил код в 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 или переименование каталога"?
person
Cyril Iselin
schedule
09.04.2017