2011-09-16 12 views
3

"default" -faultcontractを設定する方法があります。 wcf-service-classのすべてのメソッドに対して? wcf-serviceでデフォルトのfaultcontract属性を設定する方法

[ServiceContract] 
[DefaultFaultContract(typof(MyServiceFault))] 
class MyService 
{ 
    [OperationContract] 
    void DoWork(); 
} 

代わりのように:

[ServiceContract] 
public interface ICustomerService 
{ 
    [OperationContract] 
    [FaultContract(typeof(ServiceFault))] 
    void DoWork(); 
} 

私は、 "ステップバイステップ" ガイドのリンクを感謝しています。

答えて

0

これは、これを行うには「正しい」方法ではないかもしれませんが、私はちょうどそれは、オブジェクトのメンバを呼び出すときに発生したすべての例外をキャッチし、プロキシを作成しますanother question

This code might be usefull to you

に答えを掲載特定のインターフェースを実装する。 これはwpfチャネルで使用できます。

IMyInterface myService = [...]; 
IMyInterface myExceptionLoggedService = ExceptionProxyGenerator.Generate<IMyInterface>(myService); 
(myExceptionLoggedService as IExceptionProxy).Error+=(sender,method,exception)=>{ 
    // do what you want on exception 
}; 
// Use my service : 
myExceptionLoggedService.MyOkFunction();// ok 
myExceptionLoggedService.MyExceptionFunction();// calling the above delegate 

あなたは(VOID-戻っていないなどのエラー時に例外を再スローし、機能-if nullを返していません)あなたが望む行動の種類を持っているビットにこのクラスを書き換えることができ

関連する問題