ASP.NET:判断session是否合法示例
今天突然想到一个判断session是否合法的做法,asp.net的,之前我们的做法是下面这样的形式的:
2 {
3 Response.Redirect("../Login.aspx?m=登录已超时,请重新登陆!");
4 }
一直我都觉得这个方法很不好,非常不好,但是一直也没找到好的方法,刚才突然就想到和匿名方法,结合??运算符,如果session为空,那么就不合法的了, 可以用来判断用户是否登录。
由于Session["UserID"]返回的是Object类型,如果是空的话,就会报空指针异常,以上面的形式来看,而且,这种判断登录状态的行为,在一些项目中是几乎每个页面都需要用到,所以可以提取出一个方法,与其他公有的静态方法一起放到一个类里面,写成如下形式:
2 /// 判断是否登录成功,如果成功则返回session存的字符串,否则为空字符串
3 /// </summary>
4 public static Func<Object, string> isLogin = session => session as string ?? string.Empty;
Session里面可以存的Object,所以,可以是个字符串,可以是个数字,也可以是一个类或者一个集合。我上面这段代码假定存储的是一个字符串,调用的时候,就像是调用方法一样那个调用这个匿名的方法:
2 {
3 Response.Redirect("../Login.aspx?m=登录已超时,请重新登陆!");
4 }
您可以会说为何不直接使用string.IsNullOrEmpty来直接判断Session?那么我告诉你,这就如果Session中没有你进行判断的这个key会直接报空指针异常的。
如果是一个类呢?也很明显,session存储的比如说是一个User类,那么上面对代码就改成这样的形式:
因为返回的类型是User,所以可以使用一个User类来进行接收返回的值,这样,在后面的操作中可以直接使用了。
2 if (_user.UserID == -1)
3 {
4 //登录失败5 }
我不清楚这样的方式好不好,但是我觉得这样的代码,我读起来更容易理解,操作起来也会方便一些。
转载于:https://blog.51cto.com/wws5201985/735606
ASP.NET:判断session是否合法示例相关推荐
- 基于Web Services建立Asp与Asp.Net之间Session数据桥的应用研究
本文的目的在于提供一种可行的解决方案通过Web Service技术来整合和管理现有的Asp程序到Asp.Net. 此应用解决方案尽可能从实际出发以迭代更新方式的策略把Asp Web服务器内存中的当前S ...
- Java黑皮书课后题第4章:*4.21(检查SSN)编写一个程序,提示用户输入一个社保号码(格式是DDD-DD-DDDD,D是1个数字)你的程序应该判断输入是否合法
*4.21(检查SSN)编写一个程序,提示用户输入一个社保号码(格式是DDD-DD-DDDD,D是1个数字)你的程序应该判断输入是否合法 题目 题目概述 运行示例 破题 代码 题目 题目概述 *4.2 ...
- ASP.NET将Session保存到数据库中
因为ASP.NET中Session的存取机制与ASP相同,都是保存在进行中, 一旦进程崩溃,所有Session信息将会丢失,所以我采取了将Session信息保存到SQL Server中,尽管还有其它的 ...
- 菜鸟程序员之Asp.net MVC Session过期异常的处理
菜鸟程序员之Asp.net MVC Session过期异常的处理 参考文章: (1)菜鸟程序员之Asp.net MVC Session过期异常的处理 (2)https://www.cnblogs.co ...
- C#开发Unity游戏教程循环遍历做出判断及Unity游戏示例
C#开发Unity游戏教程循环遍历做出判断及Unity游戏示例 Unity中循环遍历每个数据,并做出判断 很多时候,游戏在玩家做出判断以后,游戏程序会遍历玩家身上大量的所需数据,然后做出判断,即首先判 ...
- 如何实现Asp与Asp.Net共享Session
在.net中,Session的存储机制已经与Asp的存储机制不一样,虽然可以在同一个IIS下同时运行asp与aspx,但是它们之间不能传递Session. 之前大批系统应用到了asp,在升级过程中 ...
- python如何使用session和cookie_django进阶之cookie和session的使用示例
Cookies :是浏览器为 Web 服务器存储的一小段信息. 每次浏览器从某个服务器请求页面时,它收到服务器回发送过来的cookies.它保存在浏览器下的某个文件夹下. Session:Django ...
- asp.net application,session,static 几种变量生命周期及用法 收藏
asp.net application,session,static 几种变量生命周期及用法 收藏 Application 是应用程序级变量,如果用到多个用户之间的通信的时候用,多用在网站计算器等,存 ...
- android 判断ip地址合法
昨天,我在网上找了一下判断文本框内的字符串是否是合法的ip地址,自己想到了正则表达式,可是自己对这个却不熟,所以在网上查找了一些资料,最后终于是做出来了. 具体的代码很简单, public boole ...
最新文章
- IDEA设置运行tomcat即生成war包
- 求求你别再用 System.out.println 了!!
- ExtJS FormPanel不执行校验
- VS2010项目生成时提示错误“在证书存储区中找不到清单签名证书”?
- 1、user权限表详解
- PAT (Basic Level) Practice (中文)1023 组个最小数 (20 分) (排序)
- 我是状态机,有一颗永远骚动的机器引擎
- 让mysql返回的结果按照传入的id的顺序排序
- 【JFreeChart】JFreeChart—输出组合图表
- 20145225 《信息安全系统设计基础》第10周学习总结
- html中单选框颜色怎么改,如何更改单选按钮的颜色?
- 数据说话!UCloud「硬刚」腾讯云,高性能 AMD 云主机哪家强?
- java调用hp打印机驱动_惠普打印机驱动修改JDK问题–现象:javac不能用了 | 学步园...
- Python新手学习基础之循环结构练习
- 移动API设计与安全存储
- 机器学习笔记(十四):主成分分析法(PCA)(2)
- spring3.1.1与commons-dbcp1.2的冲突?
- 基于机器视觉的苹果大小自动分级方法
- 【思想感悟】站在巨人的肩膀上
- 电脑连接上wifi,但是无法打开网页上网,小记