ASP.Net中Session失效的一种编程思路
在写一个客户的B/S结构应用程序时,突然发现一个技巧,不知道是否是MS的一个BUG,给相关的有研究的朋友原先考虑写一个检查Session的类,Session失效后,必须转向登陆页面,可每一个调用该类的页面,在不同的WEB路径下,所以转到登陆页面的URL都不同,每个页面都要调用和设置登陆页面路径,所以实际应用就放弃了这一想法后来考虑到不如写一个检查Session失效的页面,由客户端每一秒都刷新一下,就可以在一个页面中调用,但通过FRAME嵌入该ASPX老时有请求发出,不太好看,虽然该页面是隐藏的.再后来,想想,就用一个页面,使用无刷新技术,去请求该失效Session的页面就可以了,此处的无刷新技术使用了xmlhttp对象,没有使用WEBService技术.(由于客户的BS系统,使用FRAME框架,最上层的页面是显示软件名称,用户登陆信息的,所以调用就放在该页面中).
让我们来看看代码,主要是客户端的JavaScript脚本程序 webjx.com
| <script language="javascript"> var idx=0; function ChkSession() { var Http = new ActiveXObject("Microsoft.XMLHTTP"); Http.open("GET","ChkSessionOut.aspx",false); //检查Session失效的页面 Http.send(); var str = Http.responseText;//执行ASPX后的返回结果 //idx++ //document.all("ConvertResult").innerHTML = str+idx; if(str=="notnull") { //alert(str); 网页教学网 } else { alert("会话值跟踪时间超时,请重新登录...");//这段代码一直没有运行,往下看,你就知道了 location.href = "longin.aspx"; } window.setTimeout(‘ChkSession()‘, 1000 );//每一秒钟,请求一次ChkSessionOut.aspx } </script> |
这段CODE,我放在<HEAD></HEAD>标签之间,然后在BODY加载时,调用该函数,如下:
|
<BODY onload="ChkSession();"> ChkSessionOut.aspx.cs的代码如下ChkSessionOut.aspx文件中的HTML标签全部被我删除,这样一来执行下面的代码,就只有结果的输出了 private void Page_Load(object sender, System.EventArgs e) |
为了测试以上程序,我将WEB.Config的内容更改,将SESSION设置段,改成一分钟后失效WEB.Config文件的一部分,设置一分钟后失效SESSION的地方,如下:
| <sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes" cookieless="false" timeout="1"/> |
www.webjx.com
然后我运行代码,我特地在原来的IE上,使用菜单新打开一个IE窗口,为保证他们是检查同一个SESSION,在地址中输入ChkSessionOut.aspx,程序运行后,发现秘密了,一分钟后,我点刷新ChkSessionOut.aspx的页面,居然输出notnull,我想到,对了,我每秒都在向这个页面发请求,所以没失效的原因,然后我将有无刷新技术的页面关闭,过一分钟后,发现输出isnull,说明Session失效了,这个发现好,我吃了一惊!想到VS.NET好好好,它就是一个好工具,哈哈!我的环境IIS5.0,Win2000,VS.Net2003然后我有设置30秒自动请求,无刷新技术的主页面不关,SESSION不失效,一关闭还是1分种后就失效,考虑到了1分钟/30秒是整数,设置成50秒,无刷新技术的主页面不关,它过1分种,失效了!哈哈,完全明白了!1分钟/50秒非整数,所以失效.
ASP.Net中Session失效的一种编程思路的更多相关文章
- ASP.NET中Session的sessionState 4种mode模式
1. sessionState的4种mode模式 在ASP.NET中Session的sessionState的4中mode模式:Off.InProc.StateServer及SqlServer. 2. ...
- 让Session失效的三种方法
我们设置SESSION失效的时间,是为了确保在用户长时间不与服务器交互的情况下,可以自动退出登录.本文介绍了三种设置SESSION失效的方法,希望对你有帮助. Session对象是HttpSessio ...
- 第三方支付过程中session失效问题
第三方支付过程中session失效问题 时间 2015-05-13 12:36:23 IT社区推荐资讯 原文 http://itindex.net/detail/53436-session-问题 ...
- 【转】介绍设置Session失效的几种方法
转载地址:http://developer.51cto.com/art/201106/269493.htm Session对象是HttpSessionState的一个实例.该类为当前用户会话提供信息, ...
- 判断asp.net中session过期的方法
判断asp.net中session过期的方法 转载自:http://www.cnblogs.com/xilipu31/archive/2013/04/12/3016830.html 方法一:最麻烦也是 ...
- ASP.Net中页面传值的几种方式
开篇概述 对于任何一个初学者来说,页面之间传值可谓是必经之路,却又是他们的难点.其实,对大部分高手来说,未必不是难点. 回想2016年面试的将近300人中,有实习生,有应届毕业生,有1-3年经验的,有 ...
- asp.net中挺高性能的24种方法
那性能问题到底该如何解决?以下是应用系统发布前,作为 .NET 开发人员需要检查的点. 1.debug=「false」 当创建 ASP.NET Web应用程序,默认设置为「true」.开发过程中,设置 ...
- 设置session失效的几种方法
转自:http://www.cnblogs.com/linjiqin/archive/2011/06/15/2081673.html 在系统登录后,都会设置一个当前session失效的时间,以确保在用 ...
- asp.net中session的原理及应用
Session简介丶特性 1.Session是一种Web会话中的常用状态之一. 2.Session提供了一种把信息保存在服务器内存中的方式.他能储存任何数据类型,包含自定义对象. 3.每个客户端的Se ...
随机推荐
- CentOS 6.5 EasyPR环境搭建
EasyPR是一款开源的中文车牌识别系统,项目地址. 在搭建的过程中,主要的问题是注意版本的兼容性,这里面的版本包括:opencv版本,g++版本以及cmake版本. 我使用的EasyPr版本信息如下 ...
- Windows下干活儿辅助软件
桌面下高速文件搜索软件:Listary Pro(收费)和Everything(开源免费),Everything推荐Beta版,明显比老旧的稳定版好用. 桌面太乱,可以试试Fences(收费). 需要文 ...
- ORACLE 10g 64位下载地址
http://download.oracle.com/otn/nt/oracle10g/10201/102010_win64_x64_database.zip http://download.orac ...
- 让IE8支持HTML5及canvas功能!
微软出的IE9支持HTML5,但因为不支持XP系统,暂时我还用不了. 即使能用,现阶段如果开发HTML5页面,并考虑到兼容性问题的话,恐怕也得让自己的界面支持IE6-8吧. 首先,需要让IE支持HTM ...
- sys.stdout sys.stderr的用法
stdout:标准输出 stderr:标准错误 print 相当于 sys.stdout.write() + 换行 一个将数据流写入文件的程序,文件名为:main.py def main(out=s ...
- Swift 集合类型
Swift语言提供数组和字典的集合类型 Swift 语言里的数组和字典中存储的数据值类型必须明确 ,即数组中只能存放同类型的数据. 1: 数组 数组的创建 var shoppingList: St ...
- 修改CMD的编码
修改CMD的编码 使用chcp命令,格式为chcp [nnn]后面3位数字为codepage number.简体中文为936UTF8 为 65001United States 为 437
- mem_fun 例子
// functional_mem_fun.cpp // compile with: /EHsc #include <vector> #include <functional> ...
- POJ 1631 Bridging signals
Bridging signals Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 9441 Accepted: 5166 ...
- 创维37K05HR黑屏有声音故障维修
转载1: 接一台创维新机37L05HR,1年多,刚过保.开机图像声音正常,放10分钟左右黑屏.声音正常.关机再开有正常.2分钟又出现黑屏.在保修期内,售后 来修两次此类故障都没有根治.拆机测5V 12 ...