如何在WebException中收到IIS 500服务器错误详细信息?

时间:2011-09-01 19:25:26

标签: asp.net iis asp-classic httpwebrequest

我的代码使用HttpWebRequest来请求.ASP页面(asp 3.0),URL中包含一些参数。该ASP页面将通过从数据库中获取一些数据来生成PDF。由于ASP代码中的错误,当我尝试从请求中获取响应时,我收到了一个WebException,其中包含IIS的500服务器错误。这很好,但除了500错误之外,异常的消息并没有真正说出来。

如果我复制粘贴我在IE中请求的URL,我会得到一些细节,因为我有友好的错误禁用,IIS配置为将真实的错误文本发送给用户。

“技术信息(支持人员)

错误类型: ADODB.Recordset(0x800A0CC1) 无法在与请求的名称或序号对应的集合中找到项目。 “

我在Exception上做了一个QuickWatch并访问了所有属性,但没有一个包含这些数据。

有没有办法在WebException上获取此信息?

感谢。

1 个答案:

答案 0 :(得分:2)

  

有没有办法在WebException上获取此信息?

是的,您可以阅读回复正文:

try
{
    ...
}
catch (WebException ex)
{
    using (var stream = ex.Response.GetResponseStream())
    using (var reader = new StreamReader(stream))
    {
        string text = reader.ReadToEnd();
        // text will contain the response from the server
    }
}