2011-12-28 17 views
3

WCFサービスとして公開されている異なるコンポーネントを持つ1つのアプリケーションで、複数のフォルト契約タイプを使用する利点を手伝ってもらえますか?WCFサービスでの複数フォルト契約タイプの利点

これについての助けは非常にappriciatedされます。

おかげ

答えて

7

フォルト契約は、特定のサービスから期待したエラーの種類を定義するのに役立ちます。クライアント側では、これにより、アプリケーションは障害の種類に応じて条件を捕捉して管理することができます。例えば

hereから取られた)、あなたは障害契約のいくつかのタイプのサービスかもしれない:

CalculatorClient proxy = new CalculatorClient(); 
try 
{ 
    proxy.Divide(2,0); 
    proxy.Close(); 
} 

catch(FaultException<DivideByZeroException> exception) 
{...} 

catch(CommunicationException exception) 
{...} 

うまくいけば、この:

[ServiceContract] 
interface ICalculator 
{ 
    [OperationContract] 
    [FaultContract(typeof(InvalidOperationException))] 
    [FaultContract(typeof(string))] 
    double Add(double number1,double number2); 

    [OperationContract] 
    [FaultContract(typeof(DivideByZeroException))] 
    double Divide(double number1,double number2); 
    //More methods 
} 

とクライアント側では、あなたはこれを持っているでしょう助けてください。

+0

Garrett、ありがとう。しかし、私は一般に、複数の障害契約を1つだけ持つことと比較すると、どのような利点があるのか​​をもっと知る必要があります。 – Bond749

+2

私はそれが私が記述したものだと思った。複数の契約により、クライアントは障害のタイプに基づいて異なるアクションを判断できます。また、障害に関する詳細情報を提供することもできます。 –

関連する問題