IIS でホストされている MSMQ を使用する WCF サービスがあります。WCF サービスが MSMQ メッセージを選択するのを停止できる Windows アプリケーションを作成したいと考えています。キューに MSMQ メッセージが表示されたら、ボタンをクリックして WCF サービスを開始し、MSMQ 内のメッセージを選択する必要があります。コードサンプルをお楽しみください。
質問する
812 次
3 に答える
1
IIS は、MSMQ クライアントをホストする適切なコンテナーではありません。これは、トラフィックが少ない時間帯にアプリ プールがアンロードされると、キュー クライアントもアンロードされるためです。この動作は自動であり、制御することはできません。
Windows サービスでクライアントをホストする方がはるかに優れています。ただし、必要な「オンデマンド消費」機能を実現するのは簡単ではなく、標準バインディングではサポートされていません。
私が提案できる最善の方法は、メッセージを受信したらすぐに消費し、ユーザーがボタンをクリックするまでどこかに保持することです。ボタンをクリックすると、メッセージ内のデータが既に利用可能になっているため、必要なことは何でもできます。
于 2012-06-21T08:31:39.433 に答える
1
回避策を適用することで、この問題を解決できました。別のマシンに別のキューを作成しました。config で、WCF クライアント エンドポイント アドレスのアドレスをこのキューに変更しました。メッセージを代替キューから実際のキューに移動する別の外部アプリケーションを作成しました。したがって、MSMQ バインディングを使用して IIS がホストする WCF サービスを停止する動作が実現されました。
于 2012-06-27T11:22:55.960 に答える