当前位置:  开发笔记 > 后端 > 正文

Asp.Net App Pool重叠回收时间?

如何解决《Asp.NetAppPool重叠回收时间?》经验,为你挑选了1个好方法。

我最好能告诉员工流程何时回收:

a)新的一个在旧的关闭之前旋转b)旧的一个关闭所有活动请求它的服务完成

以上是准确的吗?

如果是这样,一旦Application_End()从global.ascx文件触发,我就会在SQL中存储数据.当Application_Start()触发时,我将这些数据拉回来.

问题是基于我的测试,新的工作进程在我的旧工作进程有机会完成其Application_End()之前触发Application_Start().

处理这种情况的最佳做法是什么?

提前喝彩

编辑:我刚刚注意到IIS 7上的一个功能'禁用重叠回收' - 我猜这是最好的路线



1> Nariman..:

您对重叠回收的描述是准确的,是(1); 并且有一个禁用它的设置,但它旨在防止您将重新引入的HTTP错误.应用程序池回收是托管应用程序的常见情况(源自(其中包括阻止在同一内存空间中卸载程序集的CLR限制),您必须为其设计).

您的技术很难在Web场Web园场景中进行管理.

我认为更好的设计是依靠进程外存储来存储数据(使用ScaleOut,App Fabric等分布式缓存产品),以便所有应用程序池都具有相同的缓存数据视图.

(1) - http://mvolo.com/blogs/serverside/archive/2008/02/25/Starting_2C00_-stopping-and-recycling-IIS-7.0-Web-sites-and-application-pools.aspx

推荐阅读
夏晶阳--艺术
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有