我有一个在没有此问题的Server 2008上运行的WCF应用程序,然后在没有此问题的Server 2012上运行的另一个实例确实存在此问题。当我的应用程序发送一个状态代码指示失败的响应主体(400,401,500等)时,IIS将覆盖我用此设置的响应主体(示例):
{"Message":"Authentication failed.","StackTrace":null,"ExceptionType":"System.InvalidOperationException"}
这不是ASP.NET MVC应用程序,因此我无法使用Response.TrySkipIisCustomErrors
。
我也尝试过设置system.webServer httpErrors
属性而没有运气。
任何想法如何改变这一点,以便我可以像控制Server 2008和IIS 7.5一样控制响应体,而不是覆盖它?我的所有回复都是使用WebOperationContext.Current
。