首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

Global.asax和HttpModule中的错误处理

2014-01-28 
Global.asax和HttpModule中的错误处理:在Global.asax和HttpModule中处理错误有什么区别,我在 Global.asax中

Global.asax和HttpModule中的错误处理:

在Global.asax和HttpModule中处理错误有什么区别,我在
Global.asax中处理错误没的问题,但是一样的代码在HttpModule中就经常出现Server.GetLastError()为空的现象

if (Context != null && Context.IsCustomErrorEnabled)
Server.Transfer( "~/error.aspx ", false);

转到 error.aspx 中处理

使用 Global.asax 就没有任何问题
在HttpModule中处理,error.aspx 文件中的Server.GetLastError().GetBaseException();的就经常出现为空的问题

------解决方法--------------------------------------------------------
Global.asax文件在编译时会继承HttpApplication,实际上就把Global.asax里的写的事件处理挂接到HttpApplication里,HttpModule一般也挂接在HttpApplication上事件上,只过一般只是处理某一个事件,显得功能更加单一,而且一般是处理页面之前的事件,如UrlReWrite
------解决方法--------------------------------------------------------
使用上没有区别,只是耦合度不同。Global.asax就直接耦合在HttpApplication中,而HttpModule的耦合度低。

        

热点排行