5
Webサービスでは、ExceptionHandlerをオーバーライドしますが、OData Error標準に合わせて例外をどのようにフォーマットするかはわかりません。おそらく私はそれが間違って近づいているので、私はオンラインでの例を見つけることができません。OData WebApi 2エラー処理
私の理解では、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
あなたは、このための任意の解決策を見つけることができましたか?任意のヒントが評価されます。ありがとう –
申し訳ありませんが、私はこれを理解することに戻っていません。私がするとき、私はこれを更新します。 – darewreck