MVC应用程序通过角度http帖子的错误响应

时间:2015-05-07 22:13:46

标签: asp.net-mvc angularjs iis

我在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错误页面。

如何恢复以前的行为?

1 个答案:

答案 0 :(得分:0)

我在这里找到了解决问题的方法。

https://serverfault.com/questions/123729/iis-is-overriding-my-response-content-if-i-manually-set-the-response-statuscode

将此添加到web.config

<system.webServer>
    <httpErrors errorMode="DetailedLocalOnly" existingResponse="PassThrough"/>
    .... snipped other IIS relevant elements ... 
</system.webServer>

程序重新开始按预期工作。
老实说,我不明白为什么没有这个设置到目前为止工作正常,但现在似乎没问题。