【发布时间】:2016-02-16 01:44:17
【问题描述】:
我陷入了以下情况 - 我有两个 Web 应用程序 - A 和 B。它们都在同一台计算机上运行。 B 正在托管 netMsmqBinding WCF 服务。另外,B 的应用程序池刚刚回收了自己。 A 调用 B 的 WCF 服务。我看到消息已到达我创建的私有 MSMQ 队列。但在我不浏览 *.svc URL 之前,消息不会由 B 处理。 我错过了这项技术所需的东西吗?实现这种功能的干净方法是什么? 这些是我正在使用的配置。如果我错过了一些有用的信息,请告诉我,我会提供: 服务(B):
<system.serviceModel>
<services>
<service name="MyProject.Web.Services.EmsListener">
<endpoint address="net.msmq://localhost/private/myQueue"
binding="netMsmqBinding" bindingConfiguration="MyMsmqBinding"
contract="MyProject.Abstraction.IEmsListener">
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
</service>
</services>
<netMsmqBinding >
<binding name="MyMsmqBinding"
durable="true"
receiveRetryCount="2"
maxRetryCycles="2"
retryCycleDelay="00:01:00"
receiveErrorHandling="Move" >
<security mode="None">
<message clientCredentialType="None"/>
<transport msmqAuthenticationMode="None" msmqProtectionLevel="None" />
</security>
</binding>
</netMsmqBinding>
客户(A):
<system.serviceModel>
<bindings>
<netMsmqBinding>
<binding name="MyBinding ">
<security mode="None" />
</binding>
</netMsmqBinding>
</bindings>
<client>
<endpoint address="net.msmq://localhost/private/myQueue" binding="netMsmqBinding"
bindingConfiguration=" MyBinding " contract="EmsListener.IEmsListener"
name=" MyBinding " />
</client>
</system.serviceModel>
提前谢谢:)
【问题讨论】: