每次发布内容时回收应用程序池

Recycling app pool each time something is published

我在一个 Umbraco 网站上工作,我有自定义部分,因此使用 application.config 和 trees.config 文件。

我遇到了一个问题,每次发布内容时,应用程序池都会回收并显示以下消息:

w3wp.exe Information: 0 : 

_shutDownMessage=CONFIG change
HostingEnvironment initiated shutdown
CONFIG change
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.HttpRuntime.ShutdownAppDomain(String stackTrace)
   at System.Web.HttpRuntime.OnConfigChange(String message)
   at System.Configuration.BaseConfigurationRecord.OnStreamChanged(String streamname)
   at System.Web.DirectoryMonitor.FireNotifications()
   at System.Web.Util.WorkItem.CallCallbackWithAssert(WorkItemCallback callback)
   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()

_shutdownReason=ConfigurationChange
    DateTime=2015-06-17T13:01:24.0413457Z

我尝试将 "Disable Recycling for Configuration Changes" 选项设置为 true,但没有任何更改。我想这是因为应用程序池不再回收,但应用程序域仍然如此。

我看过这个问题,虽然建议很好,但对我没有帮助。 Recycling app pool each time a change has been made

我有一些想法,"writes" 应用程序和 trees.config 可能是 Umbraco,因为它们的时间戳在我收到以下消息的同时更新:

_shutdownReason=ConfigurationChange

正如埃里克·加斯帕德 (Eric Gaspard) 在本期“applications.config & trees.config cannot be Read-only?”中所说的那样,umbraco 使用写入权限打开这些配置文件。也许这会产生一些影响?

附加信息:

底线,我的问题是:

有什么方法可以阻止 umbraco 接触配置文件,或者在配置文件更改时阻止我的应用程序域回收?

当您频繁更新 App_Data 中的文件(Umbraco 会这样做)时,会出现频繁的应用程序池回收问题。今天早上为它发布了 MS HotFix:see MS download here。听起来这可能是您一直遇到的问题。