共用方式為


WCF Web HTTP 錯誤處理

Windows Communication Foundation (WCF) Web HTTP 錯誤處理可讓您從指定 HTTP 狀態代碼的 WCF Web HTTP 服務傳回錯誤,並使用與作業相同的格式傳回錯誤詳細數據(例如 XML 或 JSON)。

WCF Web HTTP 錯誤處理

類別 WebFaultException 會定義可讓您指定 HTTP 狀態代碼的建構函式。 然後,此狀態代碼會傳回至用戶端。 類別的 WebFaultException 泛型版本, WebFaultException<T> 可讓您傳回包含所發生錯誤相關信息的使用者定義型別。 這個自定義物件會使用作業所指定的格式串行化,並傳回給用戶端。 下列範例示範如何傳回 HTTP 狀態代碼。

public string Operation1()
{
    // Operation logic  
   // ...
   throw new WebFaultException(HttpStatusCode.Forbidden);
}  

下列範例示範如何在使用者定義型別中傳回 HTTP 狀態代碼和額外資訊。 MyErrorDetail 是使用者定義的類型,其中包含所發生錯誤的額外資訊。

public string Operation2()
{
   // Operation logic  
   // ...
   MyErrorDetail detail = new MyErrorDetail()
   {  
      Message = "Error Message",  
      ErrorCode = 123,  
   }  
   throw new WebFaultException<MyErrorDetail>(detail, HttpStatusCode.Forbidden);  
}  

上述程式碼會傳回具有禁止狀態代碼的 HTTP 回應,以及包含 MyErrorDetails 物件實例的主體。 物件的格式 MyErrorDetails 取決於:

如需這些值如何影響作業格式的詳細資訊,請參閱 WCF Web HTTP 格式設定。

WebFaultExceptionFaultException,因此可作為同時公開為 SOAP 端點和 Web HTTP 端點之服務的錯誤例外狀況程式設計模型。

另請參閱