从winforms捕获ASP.NET网页中的错误

时间:2009-04-28 14:31:07

标签: c# asp.net winforms

我正在编写一个WinForms应用程序,它将执行一些用Web测试框架编写的Web UI测试。

有没有办法可以在被测试的页面上获取错误(我通过方法参数指定页面)而不用屏幕抓取页面?例如,如果它抛出:

从客户端

检测到潜在危险的Request.QueryString值

我怎样才能发现这个?

编辑:

一种方法是刮掉标题。

2 个答案:

答案 0 :(得分:3)

我实际上建议你研究一下名为ELMAH的东西。如果您将ELMAH放在ASP.NET网站上,它将自动记录并处理您的应用程序在测试时抛出的所有异常。您可以将所有内容存储为XML文件或存储在数据库中。您也可以直接通过电子邮件向您发送黄色死亡屏幕(包括堆栈跟踪)。

然后尝试将相同的功能编程到winforms应用程序中会更容易。只需使用您的应用程序击败ASP.NET站点,让ELMAH处理错误记录。

答案 1 :(得分:1)

如何在应用程序级别捕获错误(使用.asax中的全局处理程序)并将异常数据发送到db? 然后你可以查询。
嗯,甚至,实现WCF双重绑定,当发生错误时,您调用客户端监听。您的Windows窗体可以是等待通知的代理。但也许,这可能不是一个好主意,因为您希望将测试与您的应用程序分开。 使用像Enterprise库这样的东西登录MSMQ怎么样,你可以通过windows窗体监听它?

编辑 - 上面的ELMAH建议看起来也不错