application_error Server或HttpContext.Current.Server混淆

时间:2011-06-14 10:23:52

标签: asp.net

我对是否使用

感到困惑
Server.GetLastError

HttpContext.Current.Server.GetLastError

Application_Error事件中。

有人可以帮我理解两者之间的差异吗?

谢谢,

AJ

1 个答案:

答案 0 :(得分:5)

您应该使用HttpApplication中的Server.GetLastError。在大多数情况下,它们是相同的。大多数ASP.NET基类都支持Server属性作为当前HttpContext服务器的快捷方式(例如HttpApplicationPage)。但是,对于HttpApplication的情况,如果您所在的地方没有HttpContext,它将为您创建一个新的Server实用程序。对于PageUserControl的情况,它们完全相同,因为无论您在生命周期中的哪个位置,您始终都会拥有HttpContext。