ASP.NET中Session高级使用技巧
在开发Aspx .NET软件时,有时需要把常用的东西封装到一个非PAGE类中,文章介绍在非Page类中使用Session的方法。
一、PAGE参数法:
1、DLL中类的实现。
2、PAGE中调用:
二、直接调用System.Web.HttpContext.Current.Session["key"]法。
如果在非Page类中直接使用System.Web.HttpContext.Current.Session["key"]肯定会抛出异常,因为此时System.Web.HttpContext.Current.Session=null。一个类要访问Session,必须实现(或在基类已实现)IRequireSessionState接口,这是一个标记接口,不需要实现任何函数,但你不用它标记一下你的类就肯定访问不了Session。
如果你只需要读Session,也可以用IReadonlySessionState接口,效果类似,不过是对Session只读。
感谢cat_hsfz同志所提供的第二种思路,非常好,在此之前我都采用的第一种方法。