我尝试返回状态码404和JSON响应,代码如下:
但我一直得到HTML错误页面的404错误,而不是JSON响应。 我尝试了各种操作
有没有想法如何返回状态码而不是200 OK(因为它不好,它是错误)和JSON响应?
我知道我可以抛出异常,但我宁愿不这样做,因为它不能与
这是一个旧的ASP.Net网站项目,似乎大多数ASP MVC的解决方案都无法使用。
[WebMethod(EnableSession = true)]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public static dynamic Save(int Id)
{
HttpContext.Current.Response.StatusCode = (int)HttpStatusCode.NotFound;
return new
{
message = $"Couldn't find object with Id: {id}"
};
}
但我一直得到HTML错误页面的404错误,而不是JSON响应。 我尝试了各种操作
Response
,例如Flush、Clear、Write、SuppressContent和CompleteRequest(不按顺序),但每当我返回404时,它仍然会选择HTML错误页面。有没有想法如何返回状态码而不是200 OK(因为它不好,它是错误)和JSON响应?
我知道我可以抛出异常,但我宁愿不这样做,因为它不能与
customErrors mode =“On”
一起使用。这是一个旧的ASP.Net网站项目,似乎大多数ASP MVC的解决方案都无法使用。
return InternalServerError(Exception)
在这个版本的ASP WebSites中不起作用。返回内部服务器错误的HTTP状态代码将产生与404相同的效果,即会给我返回一个HTML页面。返回“错误请求”的状态代码只会返回一个文本响应“错误请求”,没有其他内容,所以这也不起作用。 - Joakim Johansson