System.Web.Session与HttpContext.Current.Session 有什么区别

本文详细介绍了ASP.NET中Session属性的功能及使用方法,并解释了如何通过HttpContext.Current.Session访问会话状态变量。此外,还对比了HttpContext.Current.Request与直接创建HttpRequest对象的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Session 属性提供对 HttpSessionState 类的属性和方法的编程访问。由于 ASP.NET 页包含对 System.Web 命名空间(含有 HttpContext 类)的默认引用,因此在 .aspx 页上可以引用 HttpContext 的成员,而不需要使用对 HttpContext 的完全限定类引用。例如,可使用 Session("SessionVariable1") 获取或设置会话状态变量 SessionVariable1 的值。但是,如果要从 ASP.NET 代码隐藏模块中使用 HttpResponse 的成员,则必须在模块中包括对 System.Web 命名空间的引用,同时还要包括对当前活动的请求/响应上下文以及要使用的 System.Web 中的类的完全限定引用。例如,在代码隐藏页中,必须指定完全限定名称 HttpContext.Current.Session("SessionVariable1")。  
  如果未启用会话状态,则无法设置或获取会话状态值。若要为应用程序配置会话状态设置,请在 Web.config 文件中设置 sessionState 元素的 mode 属性。启用会话状态后,如果请求一个会话状态变量中不存在的值,则会返回 null。

HttpContext.Current.Session 这个通常用在单独的类里。Page.Session一般是页面的后置类里用
在一个类中,要想获得当前页面的请求或者响应对象,可以通过HttpContext.Current
 
System.Web.HttpRequest是一个对象,HttpContext.Current.Request是通过Request这个属性取出这个对象,这个对象不是静态的。
可以创建一个对象HttpRequst,但是这个对象的数据和HttpContext.Current.Request的数据是不一样的。

转载于:https://www.cnblogs.com/wangyanling1016/p/3376349.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值