名前付きパイプバインディングを使用してコールバックを使用するWCFサービスを設計しています。また、クライアントからサービスを呼び出すと、サーバー側のトレースで「パイプからの読み取り中にエラーが発生しました:認識されないエラー109」というエラーが表示され、最終的にパイプ接続が中止されました。しかし、何が問題を引き起こしたのか、私にはまったくわかりません。トレースでは、スタックトレース以外の情報は提供されません。
System.ServiceModel.Channels.PipeConnection.OnAsyncReadComplete(Boolean haveResult, Int32 error, Int32 numBytes)
System.Runtime.Fx.IOCompletionThunk.UnhandledExceptionFrame(UInt32 error, UInt32 bytesRead, NativeOverlapped* nativeOverlapped)
System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pOVERLAP)
スタックトレースで別の109エラー
System.ServiceModel.Channels.PipeConnection.OnAsyncReadComplete(Boolean haveResult, Int32 error, Int32 numBytes)
トレースアクティビティフローに基づく操作の戻り値と関係があるのではないかと思いました。ただし、操作の戻りタイプをvoidと宣言しても、このエラーが発生します。もう1つは、コールバックを使用していますが、操作内でコールバックを呼び出さないことです。
助けていただければ幸いです。または、中止されたパイプ接続をデバッグする方法を教えてください。もっと詳細な情報を取得する方法があるに違いありません。たとえば、上記の例外をキャッチする方法(サーバー操作内でcatchブロックを試行しても何も取得されず、クライアント側の呼び出し関数も取得されません)。