我试图运行一个将异常记录到数据库的ASP.NET应用程序。我正在使用Application_Error来捕获异常。Application_Error()没有触发
在添加连接字符串之前,为了测试我的代码(Logger类和Global.asax中的代码),我尝试将错误记录到Windows事件查看器。这按预期工作。
但是,在将连接字符串添加到Web.config文件并添加了ADO.NET代码之后,我试图运行该应用程序。但我得到了死亡的黄色屏幕:D
我不知道我的代码有什么问题。我只修改了Web.config文件中的connectionStrings元素并添加了ADO.NET代码。
这是代码。
这是Page_Load事件中的Web表单代码。 Countries.xml文件不存在,并且预计会引发错误。
DataSet dataset = new DataSet();
dataset.ReadXml(Server.MapPath("~/Countries.xml"));
GridView1.DataSource = dataset;
GridView1.DataBind();
的Application_Error
Exception exception = Server.GetLastError();
if (exception != null)
{
Logger.Log(exception);
Server.ClearError();
Server.Transfer("~/Errors.aspx");
}
的Web.config
<configuration>
<connectionStrings>
<add name="DBCS" connectionString="Data Source=.;database=Sample;Integrated Security=SSPI" providerName="System.Data.SqlClient" />
</connectionStrings>
<system.web>
<compilation debug="true" targetFramework="4.5.2" />
</system.web>
</configuration>
我试图调试通过在Global.asax中的Application_Error方法放置一个断点,但控制从未达到这一点。 该异常是由Page_Load事件触发的。 记录器类代码中没有编译错误。 此外,我不想使用customErrors路线来解决这个问题。
在此先感谢。
这是链接到代码: https://drive.google.com/folderview?id=0B5K22Q9r50wXU0VOQmJKVHBoaDg&usp=sharing
你实现自定义错误页吗?您是否已验证您没有其他try-catch语句可能在您的Application_Error代码之前首先发现异常? –
嗨@Ephraim,是的,我正在实现一个自定义错误页面:Errors.aspx。我的代码中没有其他try catch块。这个例外没有得到处理,我看到了死亡的黄色屏幕。 – Nachiket