在我的Web服务中,我重写了ExceptionHandler,但是我不清楚如何格式化异常以适应OData Error标准。也许我接近它是错误的,因为我无法在网上找到任何例子。
根据我的理解,使用web api 2有一个全局异常处理的概念,您可以使用自定义ExceptionHandler来处理服务中抛出的任何异常。仍然期望Exception使用新的IHttpActionResult()更新ExceptionContext.Result。如何格式化输入到IHttpActionResult的数据以格式化为OData Error。
下面是ExceptionHandler的一个片段,我一直坚持如何使用正确的OData HttpResponse消息覆盖context.Result。
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
答案 0 :(得分:0)
GRANT SELECT , UPDATE , INSERT ON TABLE_NAME TO CAR;