在类里面如何用session

来源:百度知道 编辑:UC知道 时间:2024/05/20 08:57:52
我在一个业务类里面定义了一个session
但是运行后它说:
当前上下文中不存在名称“Session”
是否一般的类不能用session?如果可以应该怎么调用?
貌似在业务层里面调用session不会违反三层架构的原则吧?
麻烦指教,谢谢~

一个类要访问Session,必须实现(或在基类已实现)IRequireSessionState接口
如果只需要读Session,也可以用IReadonlySessionState接口,效果类似,不过是对Session只读。
  session的工作原理
  (1)当一个session第一次被启用时,一个唯一的标识被存储于本地的cookie中。
  (2)首先使用session_start()函数,PHP从session仓库中加载已经存储的session变量。
  (3)当执行PHP脚本时,通过使用session_register()函数注册session变量。
  (4)当PHP脚本执行结束时,未被销毁的session变量会被自动保存在本地一定路径下的session库中,这个路径可以通过php.ini文件中的session.save_path指定,下次浏览网页时可以加载使用。

在别的类里面也可以用,不过你得引用命名空间。我记得好像是Http什么命名空间,具体忘了你自己查查哈

System.Web.HttpContext.Current.Session[""].ToString();

这样用,
System.Web.HttpContext.Current.Session