2011-12-07 178 views
0

在WCF服務中,我想用自定義錯誤來處理錯誤和異常。WCF錯誤和異常處理

我需要能夠在錯誤返回

CustomFault與描述和錯誤代碼

我怎麼能實現它的情況?

回答

2

首先,你需要創建一個DataContract類爲您定製的錯。這聽起來像是在你的情況至少,這個類將有一個錯誤代碼屬性和一個描述屬性。接下來,在您的服務合同中,您需要修飾任何可能通過FaultContract屬性引發此故障的服務操作。例如:

[OperationContract()] 
[FaultContract(typeof(MyCustomFault))] 
ResponseDataContract SomeServiceOperation(RequestDataContract request); 

最後,在您的服務實現中,您需要將自定義錯誤作爲FaultExcepton引發。例如:

try 
{ 
    DoStuff(); 
} 
catch (Exception e) 
{ 
    throw new FaultException<MyCustomFault>(new MyCustomFault 
               { 
               Description = "Oh No!", 
               ErrorCode = 1234 
               }); 
}