网Msmq绑定不会在应用程序池回收后立即拾取队列中的消息[英] Net.Msmq Binding Not Picking Up Messages in Queue as soon as the application pool gets recycled

本文是小编为大家收集整理的关于网Msmq绑定不会在应用程序池回收后立即拾取队列中的消息的处理方法,想解了网Msmq绑定不会在应用程序池回收后立即拾取队列中的消息的问题怎么解决?网Msmq绑定不会在应用程序池回收后立即拾取队列中的消息问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

嗨,

我们正在尝试实现一个公开.net.msmq 端点的 wcf 服务. 我们正在运行在 DOMAIN 模式下运行的 windows server 2008 R2/IIS 7.5.

1.我们的服务名为 service.svc,它部署在默认网站中名为 Test 的应用程序下(在网络服务下运行的应用程序池)

2.访问服务网页的 url 是 http://machinename/Test/service.svc.

3.我们创建了一个名为 Test/service.svc 的私有队列,并将网络服务的权限配置为完全控制.

现在,当应用程序池"活动"时服务正确拾取消息,但一旦应用程序池被回收(由于超时或任何其他原因),服务就会停止拾取消息,这些消息只是位于队列中 直到服务再次启动浏览到服务网页 (http://machinename/Test/service.svc)

我知道这是一个流行的问题,但我已经尝试了几种没有运气的解决方案(例如,我们尝试了http://keithelder.net/blog/archive/2009/06/03/fix-for-wcf-netmsmqbinding-not-picking-up-messages-in-queue.aspx,http://www.codewrecks.com/blog/index.php/2009/03/17/hosting-a-wcf-service-based-on-msmq-in-iis7/,http://social.msdn.microsoft.com/Forums/en-US/wcf/thread/a1df55c4-e642-442a-9057-f0aec278d10c/ 和其他人)

有什么帮助吗?


如果这篇文章有帮助,请标记它
________________________________________
Alessandro Cardoso
MVP |微软英雄 |MCT
博客:http://itaustralia.spaces.live.com
http://cardosoalessandro.spaces.live.com
解决方案

Hi Alessandro

只有在服务启动的情况下,队列才能被服务处理.当您回收 appPool 时,该服务将停止并且在发出请求之前不会启动.这就是为什么它会在您查询服务元数据页面时获取消息的原因.

Cheers

Francois


本文地址:https://www.itbaoku.cn/post/1355755.html