4

単一層アプリケーションは、次の方法で例外を区別できます。

Exception ex;

if (ex is System.DirectoryServices.AccountManagement.PasswordException)
    ...

ex は単なる一般的な例外です。

多層の WCF に移行すると、これらすべてが失われ、FaultException メカニズムを使用する必要があります。

問題は、上記を行う方法が見つからないことです。

私のクライアントでは、FaultException タイプをキャッチし、それらを区別したいと考えています。つまり、次のようなものです。

catch (FaultException ex)
{
    if FaultException is (PasswordExceptionFault)
      ...
    etc
}

これを行う方法はありますか?

それ以外の場合は、FaultException の種類ごとに 1 つずつ、多くの catch コンストラクトが必要です。

4

2 に答える 2

-2

次のようなものを使用してください:

if (error is FaultException<ServerTooBusyException>) 
{
    // Do something
}
于 2015-03-10T00:23:27.293 に答える