Aracılığıyla paylaş


WCF Web HTTP Hata İşleme

Windows Communication Foundation (WCF) Web HTTP hata işleme, HTTP durum kodunu belirten WCF Web HTTP hizmetlerinden hataları döndürmenizi ve işlemin kullandığı aynı formatta (örneğin, XML veya JSON) hata ayrıntılarını döndürmenizi sağlar.

WCF Web HTTP Hata İşleme

sınıfı, WebFaultException BIR HTTP durum kodu belirtmenize olanak tanıyan bir oluşturucu tanımlar. Bu durum kodu daha sonra istemciye döndürülür. sınıfının genel bir sürümü WebFaultException , WebFaultException<T> oluşan hata hakkında bilgi içeren kullanıcı tanımlı bir tür döndürmenizi sağlar. Bu özel nesne, işlem tarafından belirtilen biçim kullanılarak serileştirilir ve istemciye döndürülür. Aşağıdaki örnekte HTTP durum kodunun nasıl döndürüleceği gösterilmektedir.

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

Aşağıdaki örnekte, kullanıcı tanımlı bir türde HTTP durum kodunun ve ek bilgilerin nasıl döndürüleceği gösterilmektedir. MyErrorDetail , oluşan hata hakkında ek bilgiler içeren kullanıcı tanımlı bir türdür.

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

Önceki kod, yasak durum koduyla bir HTTP yanıtı ve MyErrorDetails nesnesinin bir örneğini içeren bir gövde döndürür. Nesnenin MyErrorDetails biçimi şu şekilde belirlenir:

Bu değerlerin işlemin biçimlendirmesini nasıl etkilediği hakkında daha fazla bilgi için bkz. WCF Web HTTP Biçimlendirmesi.

WebFaultException bir FaultException olduğundan, SOAP uç noktalarını ve web HTTP uç noktalarını kullanıma sunan hizmetler için hata özel durum programlama modeli olarak kullanılabilir.

Ayrıca bakınız