3

別の ServiceStack サービス (B) を呼び出す ServiceStack サービス (A) があります。

(B) がエラーをスローした場合、(A) で WebServiceException をキャッチできますが、(B) のエラーを (A) のクライアントに伝播するための推奨される方法は何ですか? (B)の例外を再スローする必要がありますか、それともキャッチしないだけですか?

4

1 に答える 1

2

(A) から (B) を呼び出すために型指定された C# クライアントを使用している場合、はい、例外を (A) のクライアントに伝播させたい場合は、それをキャッチすることはできず、C# クライアントはスローします発生した例外は (A) のクライアントにシリアル化され、そのクライアントが C# ServiceClient を使用している場合は、その例外がスローされます。

フローは次のようになります。

(A client)    ->    (A service) ->     (B client)     ->      (B service)
 deserializes            <-           deserializes    <-   throws Exception E
 and rethrows E                      and rethrows E

それが理にかなっていることを願っています。

于 2013-03-15T07:20:12.440 に答える