- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
尽我所能知道工作进程何时回收:
a)在旧的关闭之前,新的会旋转
b) 一旦所有事件请求完成,旧的就会关闭
以上准确吗?
如果是这样,一旦 Application_End() 从 global.ascx 文件触发,我就有数据存储在 SQL 中。当 Application_Start() 触发时,我将这些数据拉回。
问题是基于我的测试,新工作进程在我的旧工作进程有机会完成其 Application_End() 之前触发 Application_Start()。
处理这种情况的最佳做法是什么?
提前欢呼
编辑:我刚刚注意到 IIS 7“禁用重叠回收”上的一个功能 - 我猜这是最好的路线
最佳答案
您对 的描述重叠回收是准确的,是(1);并且有一个禁用它的设置,但它旨在防止您将重新引入的 HTTP 错误。应用程序池回收是托管应用程序的正常现象(除其他外,源于防止卸载同一内存空间中的程序集的 CLR 限制),您必须为其设计。
您的技术将难以在 中管理网络农场或 网络花园设想。
我认为更好的设计是依赖数据的进程外存储(使用分布式缓存产品,如 ScaleOut、App Fabric 等),以便所有应用程序池都具有相同的缓存数据 View 。
(1) -
http://mvolo.com/blogs/serverside/archive/2008/02/25/Starting_2C00_-stopping-and-recycling-IIS-7.0-Web-sites-and-application-pools.aspx
关于Asp.Net 应用程序池重叠回收时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4046008/
我是一名优秀的程序员,十分优秀!