我有一个使用netMsmqBinding的WCF服务和一个使用它的客户端。我使用客户端向服务发送消息,它到达消息队列但从未激活该服务。我已经尝试在构造函数中设置断点,异常,在动作上设置通配符以及其他一些东西,但服务从不做任何事情。消息位于消息队列中。
即使我禁用了IIS,该消息也会进入队列。
我错过了什么?
答案 0 :(得分:2)
我不相信MSMQ绑定会自动在IIS中托管的WCF服务中运行。我相信您必须在IIS中使用Windows激活服务(WAS)或其他一些机制才能使其工作。本文可能会为您提供一些信息:
答案 1 :(得分:1)
您的服务是托管在应用程序中还是托管在根站点节点下?如果不在应用程序中,则创建一个,移动服务并在命令提示符(管理员模式)中使用这些命令
appcmd set site "servicesite" -+bindings.[protocol='net.msmq',bindingInformation='localhost']
appcmd set app "servicesite/svcapp" /enabledProtocols:net.msmq
其中,serviceite和svcapp分别是IIS站点节点和应用程序节点的名称。
通过网络浏览器访问您的服务,看看你得到了什么。