它们是一样的吗?还是他们不一样?
我读过这个SO post和this但他们正在比较HttpContext.Current.Session和Session而不是Context.Session。我错过了什么/误解了什么?
答案 0 :(得分:17)
Context.Session与HttpContext.Current.Session相同。 HttpContext.Current.Session通常用于不直接在页面上或没有对当前页面的引用的代码。
答案 1 :(得分:3)
HttpApplication的Session属性表现出与比例HttpContext.Current.Session不同的行为。如果有可用的话,它们都会返回对同一个HttpSessionState实例的引用。当当前请求没有可用的HttpSessionState实例时,它们的作用不同。
在这个答案中你有完整的答案:
答案 2 :(得分:0)
是的,它们完全一样。 Context是页面上下文,因此它比HttpContext.Current“更大”(包含更多数据),但两者的属性Session具有相同的值。
答案 3 :(得分:0)
两者都是相同的没有区别,有些时候当前会话需要通过不继承自Page的代码访问(虽然这是一种不好的做法)在这些情况下httpcontext.current.session非常方便并且可以访问会话。
还要考虑这个: Difference between Session and HttpContext.Current.Session