2010-01-06 50 views
1

我们在IIS7中托管net.msmq服务。 队列是事务性的。net.msmq服务消息停留在重试队列中

邮件到达队列中并由服务正确拾取。 如果发生异常,则将消息放入重试队列。

重试延迟设置为1小时,但是,当这段时间过去后,消息不会“重新尝试”。

如果我们浏览到.svc或发送另一条消息到主队列,那么重试消息也会被拾取。

因此,基本上,邮件卡在重试队列中,直到事件再次“启动”站点池。

有没有人遇到过这个问题?

回答

0

听起来就像您的服务的AppDomain由于不活动而被卸载。对于任何托管在IIS中的东西来说,这一直是一个痛苦的问题,通常解决方案是创建一些东西,通过每隔几分钟就可以使AppDomain保持活跃状态​​(您可以轻松地在您的服务中公开第二个基于MSMQ的端点并发送每10秒钟发一条消息,以保持活跃)。