В моем веб-сервисе я переопределяю ExceptionHandler, но мне непонятно, как вы форматируете исключение, чтобы соответствовать стандарту OData Error. Возможно, я подхожу к этому неправильно, так как я не могу найти примеры в Интернете.OData WebApi 2 Обработка ошибок
С моей точки зрения, с помощью web api 2 существует концепция обработки глобальных исключений, в которой вы используете пользовательский ExceptionHandler для обработки любых исключений, вызванных службой. Ожидается, что Exception обновит ExceptionContext.Result новым IHttpActionResult(). Как вы форматируете данные, введенные в IHttpActionResult, для форматирования в OData Error.
Ниже приведен фрагмент ExceptionHandler, и я зациклен на том, как вы переопределяете контекст. Вернитесь с правильным сообщением OData HttpResponse.
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
}
}
Любые консультации Оценил, Спасибо, D
вы смогли найти решение для этого? Любые советы приветствуются. Спасибо –
Извините, я не вернулась к этому. Когда я это сделаю, я обновлю это. – darewreck