10

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

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

4

4 回答 4

17

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

于 2013-01-08T03:38:06.720 回答
3

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

在这个答案上,您有完整的答复:

Session 和 HttpContext.Current.Session 的区别

于 2013-01-08T03:43:52.077 回答
0

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

还要研究一下: Session and HttpContext.Current.Session 之间的区别

于 2013-01-08T03:53:24.657 回答
0

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

于 2013-01-08T03:38:24.160 回答