在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 服务启动进程?

选择使用 IIS 进行 WCF 服务托管或使用 Windows 服务进行自托管

如何在 IIS 中正确托管连接到 SQLServer 的 WCF 数据服务?为啥我会收到错误消息?

在 IIS 中托管时如何从代码配置 WCF 服务?

在 IIS 中托管 WCF 服务时如何避免 CommunicationObjectFaultedException?