我的ASP.NET MVC控制器中有一个动作,当无效参数传递给该操作时,返回具有400错误请求的JSON数据。
[HttpDelete] public ActionResult RemoveObject(string id) { if(!Validate(id)) { Response.StatusCode = (int)HttpStatusCode.BadRequest; return Json(new { message = "Failed",description = "More details of failure" }); } }
这可以完美地运行在IIS下或从Visual Studio启动的开发测试服务器。在项目部署到Azure之后,400个不良请求没有JSON数据。该消息的内容类型已更改为“text / html”和“Bad Request”。
为什么Azure下的行为不一样?
解决方法
@H_403_11@ 将以下条目添加到您的“web.config”。<system.webServer> <httpErrors existingResponse="PassThrough"/> </system.webServer>
这将允许HTTP错误通过未骚扰。