HttpContext.Current与HttpContext.Current.ApplicationInstance.Context之间的区别

时间:2014-02-15 07:40:43

标签: asp.net .net vb.net

有什么区别:

HttpContext.Current

HttpContext.Current.ApplicationInstance.Context

我被告知要使用:

Dim context As HttpContext = HttpContext.Current.ApplicationInstance.Context
If Not IsNothing(context) Then 
    'do stuff with context
End If

但是在尝试访问Application_EndRequest事件中的ApplicationInstance.Context时,我得到Null引用异常。

我应该使用哪一个?

1 个答案:

答案 0 :(得分:0)

属性都返回Request的当前上下文。由于HttpContext.Current较短,您应该使用它。此外,在检查null / Nothing时,您遇到的错误很明显:

如果HttpContext.Current.ApplicationInstance.Context为空/无,则HttpContext.Current为空/无。因此,检查null / Nothing的上下文的唯一工作方式是:

If HttpContext.Current IsNot Nothing Then 
    ' ...
End If