如何阻止IIS修改我的错误代码以获取Soap错误

时间:2010-10-27 15:54:32

标签: web-services iis soap

我们向第三方提供Web服务,当发生应用程序级错误时,该第三方需要500错误。当发生这种情况时,我们构造一个带有错误详细信息(事件代码等)的自定义XML,并将其作为同步响应返回。

然而,似乎IIS正在拦截500错误并用“漂亮”的html页面替换我们的自定义XML。

有人知道如何阻止这种情况发生吗?我们已经尝试在IIS中禁用自定义错误,我们在该设置中返回的是“发生错误”字符串,现在是我们的自定义XML。

注意: IIS版本7(Windows Server 2008),我们上周开发了自定义处理程序。

1 个答案:

答案 0 :(得分:2)

答案:是使用HttpResponse.TrySkipIisCustomErrors

这就是我们正在做的事情,就像这样..

httpApplication.Response.ContentType = "text/xml";
httpApplication.Response.Write(myCustomErrorString);
httpApplication.Response.StatusCode = (int)HttpStatusCode.InternalServerError;
httpApplication.Response.TrySkipIisCustomErrors = true;

感谢Rick Strahl