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 работает отлично

Другие вопросы по тегам