我想从我的后端返回到我的前端的500 Exception信息,但每次我选择执行Response.StatusCode = 500
代码时,代码似乎都会返回500 Standard Return页面。在我选择告诉系统这是一个500错误之后,有没有返回我自己的数据?
[HttpPost]
public async Task<ActionResult> AccountInformation(OrganizationAccountInformationVM vm)
{
var response = await _adminFacade.UpdateOrganizationAsync(organization);
if (response.HasErrors)
{
Response.StatusCode = (int)HttpStatusCode.InternalServerError;
return Json(new {Code = "500", Header = "Error", Message = "Wrong"});
}
Response.StatusCode = (int)HttpStatusCode.OK;
return Json(new {Code = "400", Header = "Success", Message= "UpdatedSuccessful"});
}
如果没有错误,此代码将返回“正常”数据,如果resposne HasErrors则返回“错误”数据(整个html页面)。你知道我做错了吗?
答案 0 :(得分:1)
您可以指定不使用web.config文件替换错误响应。
>>> d = {0: (1,2), 1: (3,4), 2: (5,6)}
>>> numpy.array([list(v) for v in d.values()])
array([[1, 2],
[3, 4],
[5, 6]])
答案 1 :(得分:0)
如果您不想显示默认的IIS错误页面,而是显示自己的错误页面,则需要在响应中将TrySkipIisCustomErrors
设置为true
:
public async Task AccountInformation(OrganizationAccountInformationVM vm)
{
HttpContext.Response.TrySkipIisCustomErrors = true;
// your response with code 500
}