消息无法获得服务

时间:2011-04-15 20:22:40

标签: .net wcf msmq

我有一个使用netMsmqBinding的WCF服务和一个使用它的客户端。我使用客户端向服务发送消息,它到达消息队列但从未激活该服务。我已经尝试在构造函数中设置断点,异常,在动作上设置通配符以及其他一些东西,但服务从不做任何事情。消息位于消息队列中。

即使我禁用了IIS,该消息也会进入队列。

我错过了什么?

2 个答案:

答案 0 :(得分:2)

我不相信MSMQ绑定会自动在IIS中托管的WCF服务中运行。我相信您必须在IIS中使用Windows激活服务(WAS)或其他一些机制才能使其工作。本文可能会为您提供一些信息:

http://blogs.msdn.com/b/tomholl/archive/2008/07/12/msmq-wcf-and-iis-getting-them-to-play-nice-part-1.aspx

答案 1 :(得分:1)

您的服务是托管在应用程序中还是托管在根站点节点下?如果不在应用程序中,则创建一个,移动服务并在命令提示符(管理员模式)中使用这些命令

appcmd set site "servicesite" -+bindings.[protocol='net.msmq',bindingInformation='localhost']
appcmd set app "servicesite/svcapp" /enabledProtocols:net.msmq

其中,serviceite和svcapp分别是IIS站点节点和应用程序节点的名称。

通过网络浏览器访问您的服务,看看你得到了什么。