私はwcfを通じて通信するProvideFault()
サービスを持っています。ほとんどの例外については、キャッチしてFaultException<CustomException>
に変換し、呼び出し元にハンドラーを処理させたいので、ProvideFault()
を実装しました。なぜProvideFaultは私のTimeoutExceptionsをキャッチしますか?
これまでのところ、とてもうまくいっていて、主に動作します。しかし、このサービスは別のサービスを呼び出すことがあり、時にはTimeoutExeption
がスローされます。私たちはその例外をキャッチしたくはありませんが、代わりにそれを呼び出し側にバブルアップさせます(または、必要ならば新しいTimeoutException
を投げることさえできます)。問題は、メソッドがTimeoutException
をスローすると、ProvideFault()
がそれを処理してFaultExceptionにすることです。
wcfを強制的にバブルアップさせてTimeoutException
としますか?
をしかし、私はFaultExceptionとしてそれをキャッチする必要があります。クライアントはすでにTimeoutExceptionを処理していますが、変更しないことを望んでいました。 –
GavinSteyn
あなたは両方をキャッチする必要があります。タイムアウトが発生した場所を確認できるため、正の値にすることもできます。 –