我们向第三方提供Web服务,当发生应用程序级错误时,该第三方需要500错误。当发生这种情况时,我们构造一个带有错误详细信息(事件代码等)的自定义XML,并将其作为同步响应返回。
然而,似乎IIS正在拦截500错误并用“漂亮”的html页面替换我们的自定义XML。
有人知道如何阻止这种情况发生吗?我们已经尝试在IIS中禁用自定义错误,我们在该设置中返回的是“发生错误”字符串,现在是我们的自定义XML。
注意: IIS版本7(Windows Server 2008),我们上周开发了自定义处理程序。
答案 0 :(得分:2)
答案:是使用HttpResponse.TrySkipIisCustomErrors
这就是我们正在做的事情,就像这样..
httpApplication.Response.ContentType = "text/xml";
httpApplication.Response.Write(myCustomErrorString);
httpApplication.Response.StatusCode = (int)HttpStatusCode.InternalServerError;
httpApplication.Response.TrySkipIisCustomErrors = true;