2

JSajax呼び出しを介して呼び出されるWCFRestサービスを使用しています。

一部のメソッドでは、例外が発生した場合、ステータスコードが500(内部サーバーエラー)に設定されてスローされるWebFaultExceptionにキャッチされてラップされます。

この動作をするメソッドの場合、ある時点で例外を生成したコールチェーン全体が、一見ランダムな回数だけ再試行されることに気付きました。コントロールが渡される前に、1回だけ、3、5、7回の場合もあります。クライアント側に戻ると、エラーメッセージが表示されます。

WebServiceはIISで実行され、デバッガーをそれにフックすると、おそらくVisualStudioが未処理の例外のために実行を停止したため、再試行ロジックは発生しなくなります。

最初、この動作はWS-ReliableMessagingを指しているように見えますが、ドキュメントからは明示的に有効にする必要があります。Anb私たちはWebHttpBindingを使用していますが、これはafaikではサポートされていません。

例外の動作をスローしないように変更するとWebFaultException、この動作は停止します。

なぜこうなった?

4

0 に答える 0