我有一个托管在IIS上的WCF服务,在应用程序初始化期间,它开始监听RabbitMQ并且它订阅了Q说Q1,在长时间运行服务之后,我们看到该服务正在获取消息并且它没有处理它。
但我们确实拥有不同的Windows服务,这些服务也对订阅不同Q的相同事件感兴趣,即Q2,即使经过长时间运行也可以处理所有事件。
为什么WCF在长时间运行后失败,是否会对Apppool施加线程池密封?需要帮助来调试它。
注意:两个队列(Q1和Q2)都订阅了连接到交换机的相同消息路径密钥。
答案 0 :(得分:0)
嗯,我不确定是否处理,但默认情况下IIS托管的任何内容,AppPools会在20分钟后回收/过期,因此如果其服务方法尚未完成,您的WCF服务将不再运行调用
尝试将IIS AppPool超时设置为0
以禁用超时。