我设置了一个WCF服务来处理HTTP和MSMQ。它有点工作。 HTTP协议100%工作。问题出在net.msmq
上。当我检查队列时,消息已经下降了1,我认为这意味着它正在被处理。但与此同时,该服务已不再可用。我从IIS收到403服务不可用错误。当我清除队列并重置站点时,该服务再次可用。
消息队列拥有每个人的完全权限,并且服务不执行任何操作(严重的是,它只是一个存根方法),因此它不是代码问题。
合同标记为单向,操作为*
。
消息进入队列(一次发送10个消息)并且至少有1条消息被拉出(计数下降到9)。
net.msmq
侦听器服务正在运行。
如何解决此问题?
答案 0 :(得分:0)
我遇到了同样的问题,因为我忘了指定bindingConfiguration。我有像
这样的绑定设置<bindings>
<netMsmqBinding>
<binding name="Msmq" exactlyOnce="true" >
<security mode="None" />
</binding>
</netMsmqBinding>
</bindings>
一旦我意识到我的端点缺少bindingConfiguration,我将其添加进去,它开始正常工作。
<endpoint address ="net.msmq://localhost/private/MyQueue.svc"
binding="netMsmqBinding"
contract="IService" bindingConfiguration="Msmq">