2016-08-31 7 views
0

MSMQからメッセージを読み取り、メッセージをMSMQに書き込むWCFサービスがあります。これはIISでホストされています。 IISのWCFサービスでnet.msmqとhttpプロトコルを有効にしました。私はまた、私はこのサービスを実行しているアプリケーションプールのMSMQの完全な許可を与えている。IIS上のWCFサービスは、展開後初めてMSMQメッセージを自動的に取得しません。

これをwin server 2012に配備し、Iキューメッセージを送信すると、WCFサービスはメッセージを受信しません。私のサービス名がmyserviceの場合、ブラウザでhttp://machinename/site/myservice.svcを押すと、メッセージが自動選択されます。

この現象の原因は何ですか?

答えて

0

問題は、WCFサービスがキューをリッスンする必要がありますが、IISがアプリケーションを開始することを決定するまで、キューを待機する必要があるということです。

これは、IISがHTTP要求を処理する必要がある場合にのみ発生します。リクエストを受信すると、アプリケーションが起動し、キューでのリッスンが開始されます。

これを解決する最も簡単な方法は、IISを使用してキューリスナーをホストすることではありません。代わりにWindowsサービスを使用してください。

あなたがIISで立ち往生しているが、あなたは上記の7.5を使用したりしている場合はIISが起動したとき、あなたはconfigure the application pool settingsは、アプリケーションの起動を作ることができます:あなたはまた、Windowsのライセンス認証サービスのことを確認する必要があります

<applicationPools> 
    <add name="appPool1" 
     startMode="AlwaysRunning" /> 
</applicationPools> 

がインストールされ実行されています。https://msdn.microsoft.com/en-us/library/ms731053(v=vs.110).aspx

+0

ありがとうございました。私はこれを今試みた。私はapppool開始モードを常に実行中に設定しました。テストするために、私はIISを再起動しましたが、まだそれを拾いません。私は再びそれを拾ったURLに当たった。私は窓2012 r2とIIS 8.5でこれを試しています – Garuda

+0

また、WASを設定する必要があります。私の答えの編集を参照してください。 –

関連する問題