1

私はWCFの初心者です。サービスで特定のポートをリッスンする必要があります。サービスが (Windows サービスとして) ホストされているときに、リッスンを開始する必要があります。サービスが停止したときに停止する必要があります。

無限ループで単純なコンソール アプリケーションにリッスンを実装することができました。

サービスでそれを行う方法はありますか?

4

2 に答える 2

0

サービスの開始時にポートリッスンを行うスレッドを作成します。これは、ポートリッスンの方法を知っていることを前提としています。次に、サービスが終了したら、リスナースレッドのThread.Abortメソッドを呼び出します。スレッドが強制終了されるとこの例外が発生するため、スレッドでThreadAbortExceptionをキャッチすることを忘れないでください。ここでは、ポートやストリームのリーダー/ライターを閉じるなどのクリーンアップを行う必要があります。

于 2013-02-07T06:49:13.440 に答える
0

Windows サービスとしてホストするだけで問題ありません。ポートは、エンドポイント アドレスの一部として定義する必要があります。詳細については、このリンクをたどってくださいhttp://msdn.microsoft.com/en-us/library/ms733069(v=vs.90).aspx

于 2013-02-07T06:03:14.923 に答える