ASP.NET MVC 控制器 return JSON 出错。在开发机器和开发服务器上不一致

ASP.NET MVC controller return JSON on error. Not consistent on dev machine vs. dev server

我有一个 MVC 控制器在 FileUpload 函数中返回任务。 (我使用 Controller 而不是 ApiController 来使文件上传正常工作)

我的问题是每当抛出异常时(例如文件不在允许文件类型的白名单中),我的代码在调试时的行为与我拥有的开发服务器上的代码不同。

我的代码:

//Exception is thown, message is put into the errorMessage parameter
Response.StatusCode = 500;
Response.StatusDescription = errorMessage;
Response.ContentType = "application/json";
return Json(new { Type = "Error", Message = errorMessage });

在开发服务器上,我得到 HTML 结果

我在 web.configs 中找不到任何显着差异 有谁知道去哪里调查? 这可能是一个简单的配置问题,但我无法弄明白。

IIS 自定义错误正在拦截响应并将其替换为错误页面。设置 Response.TrySkipIisCustomErrors = true; 或将 httpErrors[existingResponse] 设置更改为 PassThrough 应该允许返回原始响应。

<system.webServer>
    <httpErrors existingResponse="PassThrough" />
</system.webServer>