在IIS托管的WCF服务中使用RabbitMQ Queue
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在IIS托管的WCF服务中使用RabbitMQ Queue相关的知识,希望对你有一定的参考价值。
我有一个托管在IIS上的WCF服务,在应用程序初始化期间,它开始监听RabbitMQ并且它订阅了Q说Q1,在长时间运行服务后,我们看到该服务正在获取消息并且无法处理它。
但是我们确实有不同的Windows服务,它也对订阅不同Q的相同事件感兴趣,说Q2,即使经过长时间运行也能够处理所有事件。
为什么WCF在长时间运行后失败,是否会对Apppool施加线程池密封?需要帮助来调试这个。
注意:两个队列(Q1和Q2)都订阅了连接到交换机的相同消息路径密钥。
答案
好吧,我不确定是否处理,但默认情况下IIS托管的任何内容,AppPools在20分钟后回收/过期,因此如果未调用其服务方法,则完全有可能您的WCF服务不再运行。
尝试将IIS AppPool超时设置为0
以禁用超时。
以上是关于在IIS托管的WCF服务中使用RabbitMQ Queue的主要内容,如果未能解决你的问题,请参考以下文章
我们啥时候应该在 IIS 中托管 WCF 服务,啥时候应该在 Windows 服务中托管?
选择使用 IIS 进行 WCF 服务托管或使用 Windows 服务进行自托管