我一直在搜索关于这个的信息,但没有结果。我为什么需要这个的上下文是another question I asked here。更具体地说,在App_Data中创建/更新/删除文件会导致池回收吗?
如果有人能提供一个详细的清单,是什么原因导致回收,这将是伟大的。
更新:正如两位用户已经注意到的,我也很乐意得到一个答案,说明仅回收AppDomain而不是整个池的原因。
我一直在搜索关于这个的信息,但没有结果。我为什么需要这个的上下文是another question I asked here。更具体地说,在App_Data中创建/更新/删除文件会导致池回收吗?
如果有人能提供一个详细的清单,是什么原因导致回收,这将是伟大的。
更新:正如两位用户已经注意到的,我也很乐意得到一个答案,说明仅回收AppDomain而不是整个池的原因。
6条答案
按热度按时间new9mtju1#
你在另一篇文章中喜欢的文章实际上做得很好。
立即回收
延迟回收
在其他位置进行多次更改时可能会出现这种情况,通常,我只在更改.aspx或.cs/.vb文件时注意到这种情况。添加临时文本、csv或其他文件对我来说没有问题。
注意:这些都是应用程序网域回收,而不是集区的实际回收。通常,应用程序POOL只会根据IIS中的设定(要求数目、内存限制、闲置时间或排程重新启动)进行回收。
z8dt9xmd2#
两种不同的效果:
您正在写入受监视以进行重新编译的文件夹。这将在某个时候触发AppDomain重新创建。
事件日志将帮助您确定启动回收的原因。
h9vpoimq3#
您可能希望打开完整的AppPool回收事件日志:
您可能还想看看Scott古特里的博客文章:http://weblogs.asp.net/scottgu/archive/2005/12/14/433194.aspx,它显示了如何在Global.ASAX中编写代码来记录Application.End事件的实际原因。
这对我们诊断几个古怪的问题非常有用-其中一个特别是将日志文件写入wwwroot目录的应用程序-太多的文件更改导致回收...
am46iovg4#
这可以根据喜好每天发生,或者在超过进程的最大虚拟内存时发生。
wqsoz72f5#
您可以操作此设置,以根据应用程序池运行的分钟数或处理的请求数回收应用程序池。
它还将回收web.config的更改和其他已经发布在这里的内容。
IIS重置和停止/启动服务也可以达到此目的。
64jmpszr6#
w3wp.exe
发生错误。这会导致在Global.asax
中呼叫Application_Start
。为了找出原因,我打开了事件查看器。
在Windows日志下,我转到了应用程序。
我看到一个应用程序错误: