サービスとコールバックの相互作用に WCF 二重チャネルを使用しており、さらに別のポートで別のサービスを使用しています。しばらくすると、デュプレックス チャネルに障害が発生しますが、使用しようとすると通信例外が発生します (チャネルにいつ障害が発生するかがわからず、SessionFaulted イベントを使用できません)。受信タイムアウトは無限で、setTimeout は 30 秒です。
問題は、この例外を処理する方法が見つからないことです。スタック トレースがなく、どこにもキャッチできません。
動作拡張機能で診断/エラー処理を使用して調査しましたが、うまくいきませんでした。
例外:
2013-12-23 11:00:34,514 ERROR General - An exception was thrown during a service call.
Details: System.ServiceModel.CommunicationException: The socket connection was aborted.
This could be caused by an error processing your message or a receive timeout being exceeded by the remote host, or an underlying network resource issue.
Local socket timeout was '10675199.02:48:05.4775807'. ---> System.Net.Sockets.SocketException: An established connection was aborted by the software in your host machine
at System.ServiceModel.Channels.SocketConnection.HandleReceiveAsyncCompleted()
at System.ServiceModel.Channels.SocketConnection.OnReceiveAsync(Object sender, SocketAsyncEventArgs eventArgs)
--- End of inner exception stack trace ---
at System.Runtime.AsyncResult.End[TAsyncResult](IAsyncResult result)
at System.ServiceModel.Channels.TransportDuplexSessionChannel.TryReceiveAsyncResult.End(IAsyncResult result, Message& message)
at System.ServiceModel.Channels.TransportDuplexSessionChannel.EndTryReceive(IAsyncResult result, Message& message)
at System.ServiceModel.Dispatcher.DuplexChannelBinder.EndTryReceive(IAsyncResult result, RequestContext& requestContext)
at System.ServiceModel.Dispatcher.ErrorHandlingReceiver.EndTryReceive(IAsyncResult result, RequestContext& requestContext)
何か案は?