为什么响应代码返回不同的代码?

时间:2016-07-13 18:19:22

标签: c# .net asp.net-web-api httpresponsemessage

在WebAPI应用程序中,我抛出异常,这是被捕获的。然后我这样做:

catch (Exception e)
{
  return Request.CreateResponse(HttpstatusCode.BadRequest);
}

在呼叫者方面,消息是预期的状态码400。

当我这样做时:

catch (Exception e)
{
  return Request.CreateResponse(HttpstatusCode.BadRequest, myFile);
}

其中myFileHttpPostedFile,调用者获得500代码。  HttpstatusCode.BadRequest == 400.如何在第二种情况下调用者获得500?

1 个答案:

答案 0 :(得分:0)

而不是CreateResponse: 使用:=> 只分配Response.StatusCode = StatusCodes.Status400BadRequest; 这将自动返回状态400。 返回以下对象作为 返回新的HttpStatusCodeResult(StatusCodes.Status400BadRequest);