保持 WCF 活动,无需 IIS 回收

保持 WCF 活动,无需 IIS 回收

我有一个 WCF 应用程序。我想让此应用程序始终处于活动状态。

如果有一段时间不活动,IIS 应用程序池会回收吗?

我怎样才能让它一直保持活力?

我应该使用计时器吗?

我的应用程序中确实有敏感数据,并且需要时间来填充它,这就是为什么我喜欢一直保持它处于活动状态。

答案1

默认情况下,在 IIS 中,应用程序池将在 20 分钟不活动后回收(空闲超时设置)。

您可以增加这个值(我相信将其设置为 0 相当于将其设置为永不超时)。

不过,我认为您最好看一下整体情况,而不是简单地调整 IIS 上的空闲超时。

服务使用频率如何?每小时几次,每分钟几次,每秒几次?
有多少个客户端同时连接?
填充数据需要多长时间?初始加载的长度是否足以证明增加空闲超时是合理的?等等。

如果您希望服务始终处于运行状态,可以考虑的另一个选项是将其托管为 Windows 服务。我已经对我的一个需要维护对象池的服务进行了此操作。

仅需考虑一些事情。

答案2

你可以创建一个自托管 WCF 服务彻底避免使用 IIS

相关内容