2

スレッドで NamedPipeServerStream を実行し、次のように接続を待機するアプリケーションがあります。

NamedPipeServerStream pipeServerTemp = new NamedPipeServerStream(PIP_NAME, PipeDirection.InOut, 254);
pipeServerTemp.WaitForConnection();

アプリケーションは常に新しい接続を待っていますが、アプリを強制終了しようとすると、WaitForConnection の呼び出しでプロセスがハングします。

問題のスレッドを中止しようとしましたが、アプリケーションは強制終了されません。

NamedPipeServerStream に接続のリッスンを停止するように指示するにはどうすればよいですか?

編集:

NamedPipeServerStream にはメソッドが呼び出されていることがわかりEndWaitForConnectionますが、 への参照が必要IAsynchResultです。そのオブジェクトはどこで取得できますか?

4

1 に答える 1

0

別の質問への回答で探していた解決策を見つけました。

価値があるのは、非同期にするのではなく、ストリームに接続してからすぐに接続を閉じるという単純な解決策をとったことです。

于 2012-08-23T14:28:59.177 に答える