asp.net – Web API 2 – ApiController.InternalServerError()返回HTTP 400状态代码

前端之家收集整理的这篇文章主要介绍了asp.net – Web API 2 – ApiController.InternalServerError()返回HTTP 400状态代码前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
此Web API操作返回HTTP 500(内部服务器错误)状态代码
public IHttpActionResult Post()
{
    return InternalServerError();
}

但是此操作返回HTTP 400(错误请求)状态代码

public IHttpActionResult Post()
{
    return InternalServerError(new Exception());
}

我希望这两个操作都返回500状态代码,第二个操作将一些错误的详细信息放在响应主体中.

我的第一个想法是,这是一个错误,但我想得到一些其他的输入.有没有什么理由说明为什么400应该在第二次行动而不是500?

更新:

方法的文档如下:

Creates an System.Web.Http.Results.ExceptionResult (500 Internal Server Error) with the specified exception.

我在想越来越多这是一个错误.

解决方法

是的,这是一个已知问题,在Web API 2发布后修复了……您可以使用以下解决方法解决此问题.示例:
return new ResponseMessageResult(Request.CreateErrorResponse(HttpStatusCode.InternalServerError,invalidOpException));

以下是之前记录的问题:
https://aspnetwebstack.codeplex.com/workitem/1318

原文链接:https://www.f2er.com/aspnet/247507.html

猜你在找的asp.Net相关文章