【WCF】【C#】WCF ~ 例外編[2] : 例外をクライアントに伝播させる ~

■ 概要

 WCF サービス内で発生した例外は、通常、セキュリティの観点から、クライアントに一切渡さず
代わりに FaultException がクライアントに返される。

■ サンプル

WCFサービス側

 * サービスメソッドにFaultContractAttributeを追加
IWcfSampleService.cs
[ServiceContract]
public interface IWcfSampleService
{
    [OperationContract]
    [FaultContract(typeof(WcfException))]
    void SampleMethod();
}
WcfException.cs
[DataContract]
public class WcfException
{
    [DataMember]
    public string Message { get; set; }
}

WCFサービスの呼び出し側

try
{
     // WCFサービス呼び出し
}
catch (FaultException<WcfException> ex)
{
    // 例外処理
}
catch (FaultException ex)
{
    // 例外処理
}