首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >停止ASP.Net回收应用程序池,原因是“对垃圾桶的更改”

停止ASP.Net回收应用程序池,原因是“对垃圾桶的更改”
EN

Stack Overflow用户
提问于 2009-08-11 16:16:48
回答 3查看 1.8K关注 0票数 1

你好,我有一个大型的.Net网络应用程序,它运行在一个刀片式服务器群上,代码库在网络连接存储上。每隔一段时间,nas响应时间的轻微波动都会导致.NET认为垃圾桶中的某些东西发生了变化,并启动应用程序池的回收。实际上并没有发生任何变化。有没有办法禁用.Net对bin更改的监控?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-08-11 16:46:07

这将结束这一切。现在你必须执行iisreset来回收你的应用程序池。

代码语言:javascript
复制
'This is supposed to turn off the monitoring for directory deletes
'See https://connect.microsoft.com/VisualStudio/feedback/Workaround.aspx?FeedbackID=240686
'This incurs the penalty of an IISRESET or manually restarting the containing AppPool after every upgrade.
Dim pi As PropertyInfo
Dim o As Object
Dim m As MethodInfo
pi = GetType(System.Web.HttpRuntime).GetProperty("FileChangesMonitor", BindingFlags.NonPublic Or BindingFlags.Public Or BindingFlags.Static)
o = pi.GetValue(Nothing, Nothing)
m = o.GetType().GetMethod("Stop", BindingFlags.Instance Or BindingFlags.NonPublic)
m.Invoke(o, New Object() {})
票数 1
EN

Stack Overflow用户

发布于 2009-08-11 17:02:45

似乎还有一个热修复程序,似乎能够禁用注册表项的“功能”:

http://support.microsoft.com/kb/911272

不完全确定这在垃圾桶上是否有效。

票数 1
EN

Stack Overflow用户

发布于 2009-08-11 16:30:53

简单的答案是,你不能。如果IIS检测到其中一个二进制文件发生更改,则必须重新加载,以确保它使用的是正确的二进制文件。

真正的问题是: a) IIS是否真的检测到了变化,或者是由于“波动”导致操作系统认为文件不是即时存在的?b)如果“波动”是问题的根源,是什么引起的?如何解决这个问题?

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1261436

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档