Wcf IIS 7自动重新启动
我在IIS上部署了WCF服务。(与[AspNetCompatibilityRequirements(RequirementsMode=AspNetCompatibilityRequirementsMode.Allowed)]基本绑定) 我已经建立了自定义内存会话管理,现在我面临一个奇怪的问题,即IIS 7会自动重新启动,甚至不会在事件日志中抛出任何警告或错误。此问题导致销毁所有可用会话 在使用log for net记录应用程序启动和应用程序结束方法之后,我发现了这个问题,并且我将断点放在应用程序启动中,它在测试执行之间暂停 这种情况很少发生,但我需要知道为什么会发生,以及它是否正常和可接受。如果没有,可能的原因是什么 问候Wcf IIS 7自动重新启动,wcf,iis-7,basichttpbinding,Wcf,Iis 7,Basichttpbinding,我在IIS上部署了WCF服务。(与[AspNetCompatibilityRequirements(RequirementsMode=AspNetCompatibilityRequirementsMode.Allowed)]基本绑定) 我已经建立了自定义内存会话管理,现在我面临一个奇怪的问题,即IIS 7会自动重新启动,甚至不会在事件日志中抛出任何警告或错误。此问题导致销毁所有可用会话 在使用log for net记录应用程序启动和应用程序结束方法之后,我发现了这个问题,并且我将断点放在应用程序
穆巴沙尔·艾哈迈德(Mubashar Ahmad)是否是应用程序池被重新循环?IIS 6将此设置默认为1740分钟。至于iis7,我想你也会有同样的设置?我知道在IIS 6中,此“事件”不会记录为“n错误”。会话超时(与应用程序池回收分离)默认设置为90分钟,这是在应用程序级别设置的。这也意味着在会议期间举行的任何事情都将在那时被吹走。您可以通过IIS6中虚拟目录/应用程序的属性,以及IIS7中的SessionState->Open功能(当您选择应用程序时)进行设置 还请注意,如果您的web服务托管在其中一个ASP.Net应用程序中,则可以通过ASP.Net应用程序的web.config设置会话超时。当它检测到“不健康”进程时,或者在达到某些操作员可配置的限制后 这些限制包括:
- 记忆阈值
- 在配置的请求数之后
- 经过的时间
- 一天中的时间
这可能就是原因。在这里您可以看到如何配置回收:感谢您的快速回复。这对我来说是新事物,但在阅读了详细的日志之后,我注意到它现在变得有点频繁,可能是我也应该登录应用程序的错误。好的,除了回收利用,还有其他原因吗???。你的记忆在做什么?达到内存限制也可能触发重新循环。此选项也在应用程序池级别设置,据我所知,我通常使用(Sysinternals中的Process explorer)来监视内存,线程和IIS,如果它正在做有趣的事情。hmmm这可能是原因,因为我只使用2 GB ram,并使用sql server作为后端,并且我在10个数据库连接中每秒执行12个以上的查询。让我在8GB内存的服务器上试试。我会让你知道的,谢谢你的另一个提示。亲爱的Slugster,正如我之前提到的,我正在使用自定义会话,并且还声明我正在接收来自Application_Start和Application_End的日志,那么这怎么可能是由于会话超时。无论如何,谢谢你在谈论应用程序池回收,因为我使用的是Win7附带的IIS 7,我认为它是IIS 7.5.*版本。如果是,则我已签出回收配置,仅在设置为默认值(1700+分钟)的计划持续时间后才将其设置为。即使存在某种错误,为什么不将其记录在某个地方:(:(我同意你的观点,在这种情况下这是一个错误,我想这是我们可以详细讨论的问题。我认为默认情况下,这种行为的主要原因是通过更容错的方式,使IIS的感知可靠性更高。很容易看出你是否得到了流程回收。只需检查流程ID。你可以甚至可以将其嵌入WCF响应中,作为诊断步骤。(System.Diagnostics.Process class)