WCM MSMQ размещен в IIS
Я застрял в следующем случае - у меня есть два веб-приложения - A и B. Они оба работают на одном компьютере. В размещается служба WCF netMsmqBinding. Кроме того, пул приложений B только что переработан. А звонит в службу WCF. Я вижу, что сообщение поступило в личную очередь MSMQ, которую я создал. Но до тех пор, пока я не просматриваю URL *.svc, сообщение не передается 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>
Клиент (А):
<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>
Заранее спасибо:)
2 ответа
Это может быть связано с тем, что IIS не запускает ваше приложение после переработки.
Возможное решение - настроить автозапуск. Затем IIS немедленно начнет работу, не дожидаясь первого запроса.
Возможное решение Imortist работает!!
Но сначала вам нужно добавить AppFabric на вашу ISS, затем вы должны быть уверены, что у вас есть опция "Start Mode" в настройках вашего пула.
Примечание: в моем windows 7 IIS7 не работал, но в моем windows server 2012 R2 IIS8 работает отлично