HttpContext.Current.Session vs Context.Session

时间:2013-01-08 03:28:39

标签: c# asp.net

它们是一样的吗?还是他们不一样?

我读过这个SO postthis但他们正在比较HttpContext.Current.Session和Session而不是Context.Session。我错过了什么/误解了什么?

4 个答案:

答案 0 :(得分:17)

页面中的

Context.Session与HttpContext.Current.Session相同。 HttpContext.Current.Session通常用于不直接在页面上或没有对当前页面的引用的代码。

答案 1 :(得分:3)

HttpApplication的Session属性表现出与比例HttpContext.Current.Session不同的行为。如果有可用的话,它们都会返回对同一个HttpSessionState实例的引用。当当前请求没有可用的HttpSessionState实例时,它们的作用不同。

在这个答案中你有完整的答案:

Difference between Session and HttpContext.Current.Session

答案 2 :(得分:0)

是的,它们完全一样。 Context是页面上下文,因此它比HttpContext.Current“更大”(包含更多数据),但两者的属性Session具有相同的值。

答案 3 :(得分:0)

两者都是相同的没有区别,有些时候当前会话需要通过不继承自Page的代码访问(虽然这是一种不好的做法)在这些情况下httpcontext.current.session非常方便并且可以访问会话。

还要考虑这个: Difference between Session and HttpContext.Current.Session