2011-05-27 47 views
2

我们一直在翻滚,现在已经超过一个月了,其中IIS7.5(WAS)中承载的wcf msmq服务将停止处理来自队列。确保(重新启动)在IIS7.5上托管的MSMQ WCF服务WAS

我们一直无法将其缩小到超过“在某个点上”,它将停止处理队列中的消息。通过http浏览器调用调用svc将再次开始处理。

在阅读了关于这个问题的很多文章,博客和论坛帖子之后,我们确保了以下内容:安全设置,协议绑定和msmq /服务命名,但是可惜:服务仍将停止处理消息(某些时候)。

受此文章的鼓励http://www.daczkowski.net/2010/11/19/leveraging-msmq-in-asp-net-application-through-wcf-service/我们似乎已经终于(几乎)消除了windows server 2008 r2 sp1 64位的问题,但它似乎仍然出现在Windows 7 32位上。

现在去我的问题:任何人都可以告诉我,如果实际存在一个保证(关于这个文件将不胜感激),一个msmq WAS托管wcf服务将实际上重新启动(在所有条件下)在IIS7.5 NOT运行AppFabric扩展?

我知道这个问题非常复杂,但我很难记录为什么我们应该使用AppFabric扩展我们的OTS包来解决这个重新启动问题。

最好的问候,

回答

0

难道你net.msmq端点实际使用IIS可以绑定到一个队列名称的地址?在配置中使用非IIS兼容名称是可能的,并且WAS将永远无法唤醒您的应用程序,因为WAS只会按照它可以解析的路径名注册到队列。在这种情况下,您需要AppFabric或“启动”脚本等实际激活您的服务,以便它们将自己绑定到队列中。

+0

您是否知道微软是否曾在任何地方记录过这一点信息?我在MSDN和所有主要搜索引擎中搜索过,但无法找到它。我们遵循“ServiceFolderName/ServiceName.svc”队列命名的约定,以便http://hostName/ServiceFolderName/ServiceName.svc是服务端点地址,私有$ \ ServiceFolderName/ServiceName.svc是队列名称。 – 2011-05-27 15:35:50

+0

这个问题比这更恐怖:这个服务可以被IIS单独激活,但有时候(!)会停止处理。这与事件,如重新启动进程,服务器等,再循环等不直接相关。这是我们现在已经消除的。该服务将开始处理,但会在某个时间点停止。 我们的服务使用匹配的队列名称命名为“正确”。 – 2011-05-27 15:57:14

+0

@Casper Leon Nielson嗯,这的确很奇怪。我从来没有见过。 IIS/WAS的事件日志中绝对没有? – 2011-05-27 17:07:31