知识大全 Asp.net中判断一个session是否合法的方法

Posted

篇首语:如烟往事俱忘却,心底无私天地宽。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Asp.net中判断一个session是否合法的方法相关的知识,希望对你有一定的参考价值。

Asp.net中判断一个session是否合法的方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

今天突然想到一个判断session是否合法的做法 asp net的 之前我们的做法是下面这样的形式的   复制代码 代码如下:  if (Session["UserID"] == "" || Session["UserID"] == null)        Response Redirect(" /Login aspx?m=登录已超时 请重新登陆!");  

   一直我都觉得这个方法很不好 非常不好 但是一直也没找到好的方法 刚才突然就想到和匿名方法 结合??运算符 如果session为空 那么就不合法的了 可以用来判断用户是否登录 由 于Session["UserID"]返回的是Object类型 如果是空的话 就会报空指针异常 以上面的形式来看 而且 这种判断登录状态的行为 在 一些项目中是几乎每个页面都需要用到 所以可以提取出一个方法 与其他公有的静态方法一起放到一个类里面 写成如下形式

复制代码 代码如下:  /// <summary>  /// 判断是否登录成功 如果成功则返回session存的字符串 否则为空字符串  /// </summary>

   public static Func<Object string> isLogin = session => session as string ?? string Empty; Session里面可以存的Object 所以 可以是个字符串 可以是个数字 也可以是一个类或者一个集合 我上面这段代码假定存储的是一个字符串 调用的时候 就像是调用方法一样那个调用这个匿名的方法

复制代码 代码如下:  if (string IsNullOrEmpty(isLogin(Session["UserID"])))        Response Redirect(" /Login aspx?m=登录已超时 请重新登陆!");  

   您可以会说为何不直接使用string IsNullOrEmpty来直接判断Session?那么我告诉你 这就如果Session中没有你进行判断的这个key会直接报空指针异常的 如果是一个类呢?也很明显 session存储的比如说是一个User类 那么上面对代码就改成这样的形式

复制代码 代码如下:  public static Func<Object User> isLogin = session => session as User ?? new User() UserID = ;

   因为返回的类型是User 所以可以使用一个User类来进行接收返回的值 这样 在后面的操作中可以直接使用了

复制代码 代码如下:  User _user = isLogin(Session["UserID"]);  if (_user UserID == )        //登录失败   cha138/Article/program/net/201311/14110

相关参考

知识大全 asp.net form验证

  读书时最常用判断登陆的就是登陆时用cookie或session存储然后每个页面判断是否登陆  这样做每个页面都要判断很麻烦  毕业半年了这半年学会了用类重写事件OnLoad()来这样每个页面继承这

知识大全 Asp.Net中NHiernate的Session的管理

Asp.Net中NHiernate的Session的管理  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下

知识大全 ASP.Net中Session失效的一种编程思路[1]

ASP.Net中Session失效的一种编程思路[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧

知识大全 ASP.Net中Session失效的一种编程思路[2]

ASP.Net中Session失效的一种编程思路[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧

知识大全 在asp.net webservice中如何使用session

  在使用编写webservice时默认情况下是不支持session的但我们可以把WebMethod的EnableSession选项设为true来显式的打开它请看以下例子  新建网站WebSite&n

知识大全 ASP.Net的Session

ASP.Net的Session  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  ASPNet中的S

知识大全 ASP.NET会话(Session)模式

ASP.NET会话(Session)模式  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 Asp.net的Session过期

Asp.net的Session过期  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  目录删除及重命

知识大全 ASP与ASP.NET转换Session数据桥的应用

ASP与ASP.NET转换Session数据桥的应用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

知识大全 ASP.NET中的session存储模式运用

ASP.NET中的session存储模式运用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在中