我在Windows Server 2008 R2上使用带有角度运行的应用程序使用asp.net MVC后端。
如果服务器上发生错误,要返回错误数据,请执行以下操作:
Response.StatusCode = (int)HttpStatusCode.InternalServerError;
return Json(response);
效果是将JSON包发送回角度调用者,并且调用错误处理程序接收JSON包
this.http.post(workUrl,selezione)
.success((数据:SettoriProgettoResponse,status)=> {
deferred.resolve(数据);
})。error((error:string [])=> {
deferred.reject(误差);
});
出于某种原因,过去几天IIS停止发回JSON,而是发送标准的IIS错误页面。
如何恢复以前的行为?
答案 0 :(得分:0)
我在这里找到了解决问题的方法。
将此添加到web.config
<system.webServer>
<httpErrors errorMode="DetailedLocalOnly" existingResponse="PassThrough"/>
.... snipped other IIS relevant elements ...
</system.webServer>
程序重新开始按预期工作。
老实说,我不明白为什么没有这个设置到目前为止工作正常,但现在似乎没问题。