防止WCF服务AppDomain被卸载
我们有一个 WCF 服务,我们希望它保持“长久”。不管出于什么原因,只要我们空闲大约 20 分钟,IIS 似乎就会卸载我们的 AppDomain。
我可以将一个方法附加到 AppDomain.CurrentDomain.DomainUnload
事件,有什么方法可以在代码中取消卸载吗?或者也许是我可以使用的 IIS 中的配置?
We have a WCF service that we would like to remain "long lived". For whatever reason though, IIS seems to be unloading our AppDomain whenever we are idle for ~20 minutes.
I can attach a method to the AppDomain.CurrentDomain.DomainUnload
event, is there any way to cancel the unload in code? Or perhaps a configuration in IIS that I can use?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
当然,我刚刚发现了另一个问题,大概的答案是什么:
如何使 AppDomain 中的 ASP.NET 程序集保持活动状态?
我已经查看了回收 AppPools 的所有设置,但错过了重要的“空闲超时”属性。
当然,它的默认值是 20 分钟,可以将其更改为 0 以停止此行为。
And of course I just found another question with what is presumably the answer:
How to keep ASP.NET assemblies in AppDomain alive?
I had looked at all the settings for recycling AppPools, but missed the vital "Idle Timeout" property.
Its default is of course 20 minutes and it can be changed to zero to stop this behaviour.