DISABLE重叠回收IIS
的缺点和优点是什么?
默认情况下,选项Disable Overlapped Recycling
为false
,我需要将其更改为true
,但我不知道这有什么缺点,我没有找到任何具体的文档说明关于这个缺点。
我想当有人处于对已发布的Web服务的请求中并且回收池时,会立即删除该调用并发出异常。我确定吗?
答案 0 :(得分:1)
将此设置为true的缺点是,在回收应用程序池时,您的站点将会关闭。
优势恰恰相反:)
{* 3}}
解释了需要设置为true的唯一记录情况当应用程序被回收时,会话状态可能会丢失。在重叠循环期间,多实例的发生也是可能的。
会话状态丢失:许多IIS应用程序依赖于存储状态的能力。 IIS 6.0可能会导致状态丢失,如果它自动关闭由于空闲处理而超时的工作进程,或者它在回收期间重新启动工作进程。
多实例的发生:在多实例中,两个或多个进程实例同时运行。根据应用程序池的配置方式,可以运行多个工作进程实例,每个实例都可以加载并运行相同的应用程序代码。重叠循环的发生是多实例化的一个例子,就像在中的网络花园一样 无论回收设置如何,哪两个或多个进程都为应用程序池提供服务。
如果您的应用程序无法在多实例环境中运行,则必须仅为应用程序池配置一个工作进程(这是默认值),并在使用应用程序池回收时禁用重叠的回收功能。
答案 1 :(得分:1)
禁用 IIS 的重叠回收的一个优点是,您可以避免在应用程序锁定文件时可能发生的潜在问题,应用程序的新实例将在原始应用程序仍在运行时尝试访问这些文件。
此问题即发生在使用 Lucene 索引的应用程序中。 更多相关信息:https://medium.com/@ShamreshKhan/turning-off-iis-app-pool-overlap-recycle-6d2591faa312
答案 2 :(得分:0)
似乎我找到了此标志的另一个用例。如果您被迫使用App_Code文件夹进行编译,则IIS可能无法正确回收您的应用程序,从而可能出现问题。
我们遇到一个问题,由于应用程序在应用程序域中加载了冲突的DLL,因此在基于属性的身份验证中身份转换无法正常工作。