标准设置我认为。我主要遵循:http://blogs.msdn.com/b/tomholl/archive/2008/07/12/msmq-wcf-and-iis-getting-them-to-play-nice-part-1.aspx,但根据需要使用其他来源。
到目前为止发生了什么:
我已经关闭了服务,但邮件仍然在日记邮件中结束 - 不知道为什么会这样。
队列:bretrace / bretraceservice.svc(匿名访问,授予完整权限)
客户端Web.config
<netMsmqBinding>
<binding name="MsmqBreTrace" receiveErrorHandling="Move">
<security mode="None" />
</binding>
</netMsmqBinding>
<endpoint address="net.msmq://wcfserver/private/bretrace/bretraceservice.svc" binding="netMsmqBinding"
bindingConfiguration="MsmqBreTrace" name="MsmqBreTraceService"
contract="C.BusinessRuleController.Services.BoschProxy.Trace.IQueuingTraceContract"/>
服务Web.config
<bindings>
<netMsmqBinding>
<binding name="MsmqBreTraceReader" receiveErrorHandling="Move">
<security mode="None" />
</binding>
</netMsmqBinding>
</bindings>
<services>
<service name="C.BusinessRuleController.Services.QR.BreTraceService">
<endpoint address=""
binding="netMsmqBinding" bindingConfiguration="MsmqBreTraceReader"
contract="C.BusinessRuleController.Services.BoschProxy.Trace.IQueuingTraceContract" />
</service>
</services>
我还激活了system.diagnostics,它似乎在我看到的活动中调用该服务:
“执行C.BusinessRuleController ......”作为另一项活动。
答案 0 :(得分:0)
有些事情为我解决了这个问题:
首先,我必须在绑定
中设置安全模式='transactional'<netMsmqBinding>
<binding name="MsmqBreTrace" receiveErrorHandling="Move">
<security mode="Transactional" />
</binding>
</netMsmqBinding>
其次,我必须安装MSMQ Active Directory集成 - 我没有必要实际启用它,但它必须安装,即使它没有使用。这就是最让我失望的东西,我不想要AD整合,所以我觉得我不需要它。事实证明我错了。