从物理路径中删除文件夹后站点重新启动。在 IIS 10 上
Site restart after removing folders from physical path. on IIS 10
我们在 asp.net 4.7
站点上具有删除包含静态数据 (css, js) 的文件夹并生成包含更新 (js,css) 文件的相同文件夹的功能。使用静态数据删除文件夹后,站点将重新启动。我收到此错误日志:
ApplicationEnd: ShutDownMessage: Directory rename change notification for 'D:\Projects\MySite\src\WebProject'.
WebProject dir change or directory rename
HostingEnvironment initiated shutdown
Directory rename change notification for 'D:\Projects\MySite\src\WebProject'.
WebProject dir change or directory rename
Directory rename change notification for 'D:\Projects\MySite\src\WebProject'.
WebProject dir change or directory rename
HostingEnvironment caused shutdown
ShutDownStack: 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.OnSubdirChange(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.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()
IIS (APPPool/site) 中的某些设置在删除此文件夹后不会在站点上创建重新启动。
PS。我已经在 web.config 上研究了 fcnMode="Single"
的解决方案。这不是我们的解决方案。
<httpRuntime executionTimeout="180" targetFramework="4.7.2" requestValidationMode="2.0" maxRequestLength="104857600" fcnMode="Single"/>
这是 IIS 的正常行为。
IIS 会在以下情况下重启应用程序或回收应用程序池:
web.config 已编辑
- 编辑machine.config
- 编辑global.asax
- Web 应用程序的 bin 目录或 bin 的子目录之一中的文件已更改
- 在 Web 应用程序目录中创建、重命名或删除目录
- ASP.NET 文件(aspx、asmx 等)被编辑(并因此重新编译)超过 20 次,在机器配置中默认设置为名为 numRecompilesBeforeApprestart
的元素
- 通过machine.config中元素中各种属性的设置,影响worker进程本身的restart/shutdown。
您无法阻止此行为,因为它是设计好的。除非您停止删除文件夹。
我们在 asp.net 4.7
站点上具有删除包含静态数据 (css, js) 的文件夹并生成包含更新 (js,css) 文件的相同文件夹的功能。使用静态数据删除文件夹后,站点将重新启动。我收到此错误日志:
ApplicationEnd: ShutDownMessage: Directory rename change notification for 'D:\Projects\MySite\src\WebProject'.
WebProject dir change or directory rename
HostingEnvironment initiated shutdown
Directory rename change notification for 'D:\Projects\MySite\src\WebProject'.
WebProject dir change or directory rename
Directory rename change notification for 'D:\Projects\MySite\src\WebProject'.
WebProject dir change or directory rename
HostingEnvironment caused shutdown
ShutDownStack: 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.OnSubdirChange(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.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()
IIS (APPPool/site) 中的某些设置在删除此文件夹后不会在站点上创建重新启动。
PS。我已经在 web.config 上研究了 fcnMode="Single"
的解决方案。这不是我们的解决方案。
<httpRuntime executionTimeout="180" targetFramework="4.7.2" requestValidationMode="2.0" maxRequestLength="104857600" fcnMode="Single"/>
这是 IIS 的正常行为。
IIS 会在以下情况下重启应用程序或回收应用程序池: web.config 已编辑
- 编辑machine.config
- 编辑global.asax
- Web 应用程序的 bin 目录或 bin 的子目录之一中的文件已更改
- 在 Web 应用程序目录中创建、重命名或删除目录
- ASP.NET 文件(aspx、asmx 等)被编辑(并因此重新编译)超过 20 次,在机器配置中默认设置为名为 numRecompilesBeforeApprestart 的元素
- 通过machine.config中元素中各种属性的设置,影响worker进程本身的restart/shutdown。
您无法阻止此行为,因为它是设计好的。除非您停止删除文件夹。