2015-12-09 36 views
5

Web hizmetimde, ExceptionHandler'ı geçersiz kılıyorum, ancak istisnayı OData Error standardına uydurmak için nasıl biçimlendireceğinizi bana açık değil. İnternette herhangi bir örnek bulamadığım için yanlış anlayabiliyorum.OData WebApi 2 Hata Giderme

Anlayışımdan, web api 2 ile, hizmette atılan istisnaları işlemek için özel bir ExceptionHandler kullandığınız bir global istisna işleme konsepti vardır. Özel Durumun ExceptionContext.Result dosyasını yeni bir IHttpActionResult() ile güncelleştirmesi bekleniyor. Girdiğiniz verileri OData Error'a biçimlendirmek için IHttpActionResult'a nasıl biçimlendirirsiniz?

Aşağıda, ExceptionHandler parçacığının bir pasajı var ve içeriği nasıl geçersiz kılacağınız konusunda takılı kaldım. Doğru OData HttpResponse iletisiyle yeniden arayın.

public class CustomExceptionHandler: ExceptionHandler 
{ 
    public override void Handle(ExceptionHandlerContext context) 
    { 
     HttpResponseMessage msg = context.Request.CreateErrorResponse(HttpStatusCode.NotFound, new ODataError 
     { 
      ErrorCode = context.Exception.Message, 
      Message = context.Exception.InnerException.Message, 
      InnerError = new ODataInnerError 
      { 
       Message = context.Exception.InnerException.Message 
      } 
     }); 
     context.Result = //How do you wrap the OData HttpResponseMessage into a IHttpActionResult 

    } 


} 

Herhangi Önerileri, sayesinde, D

+0

Bunun için herhangi bir çözüm bulmak için Yerimde takdir? Herhangi bir ipucu takdir edilir. Teşekkürler –

+0

Üzgünüm, bunu anlamak için geri gelmedim. Bunu yaptığımda, bunu güncelleyeceğim. – darewreck

cevap

0
context.Result = new System.Web.Http.Results.ResponseMessageResult(msg);