【问题标题】:Recycling app pool each time something is published每次发布时回收应用程序池
【发布时间】:2025-12-07 03:55:01
【问题描述】:

我在一个 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

我尝试将“禁用回收配置更改”选项设置为 true,但没有任何更改。我猜这是因为应用程序池不再回收,但应用程序域仍然如此。

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

我有一些想法,可能是 Umbraco “写入”到 application 和 trees.config,因为它们的时间戳在我收到以下消息的同时更新:

_shutdownReason=ConfigurationChange

正如 Eric Gaspard 在本期“applications.config & trees.config cannot be Read-only?”中所说,umbraco 以写入权限打开这些配置文件。也许这会产生一些影响?

附加信息:

  • 服务器是2012年

底线,我的问题是:

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

【问题讨论】:

  • 你在 Server 2012 上吗?
  • 是的,我正在使用该信息更新问题

标签: .net iis lucene umbraco application-pool


【解决方案1】:

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

【讨论】:

  • 看起来很有希望! :) 据我所见,它实际上解决了问题。在我看到你的帖子之前我自己找到了解决方案,但你的答案是正确的,所以我会相信你:)