分享到微信朋友圈
打开微信。点击 “ 发现 ” , 使用 “ 扫一扫 ” 即可将网页分享至朋友圈。
摘要 : About Session_End () operation mechanism of some of the
1.首先是如何激发Session_End()方法因为这个方法只支持InProc(进程内的)类型的Session,所以我们将Web.config配置如下: <sessionState timeout="1" mode="InProc"></sessionState> 注:timeout的基本单位是:分2.为什么执行了Session.Abandon(),但是却仍然可以从Session中取到值? 为什么在Session_End()中,无法获得HttpContext.Current对象?按示例说明:aspx部分
aspx.cs部分
Global.ascx部分
运行测试:1)运行程序发现,点击了“注销Session”按钮后,即使重新设置lblMsg.Text,输出的值也仍然为1,并没有像我们预期认为的那样,应该是Session被注销,然后通过Convert.ToInt32对NULL值的转换后,输出0。2)现在给ASPX页添加一个新的BUTTON控件,重新运行程序,依次点击“注销Session” - “回发”,发现在第2次点击后,结果输出0。通过调试也发现在调用Session.Abandon()后,的确进到了Session_End()方法。注:通过调试发现,第一步和第二步均可以激发Session_End()方法。调试分析:1)前置条件:点击“注销Session”按钮给btnTest_Click()内的代码设置断点,通过调试可以发现,其中执行的顺序并不是:从Session.Abandon() - 到Session_End() - 执行完之后再返回到btnTest_Click()中继续执行其他事件而是:将btnTest_Click()中所有事件执行过后 - 再转去执行Session_End()2)前置条件:无在Session_End()中设置断点,然后正常启动页面,因为我将sessionState的timeout设置为1分钟,所以干脆什么都不做,等1 分钟过去时,发现程序自动进到Session_End(),执行到这里思路应该就比较清楚了,正如cnblogs很多贴子中所说的“Session_End ()是一个在服务器内部激发的事件处理函数,它是基于一个服务器内部的计时器的”,因为在激发该事件时服务器上并没有相关的HttpRequest对象,所以也不存在HttpContext这个概念。至于为什么客户端需要通过再一次Request回发请求,才会得到0,根据上面的第一步来看也就很明白了。总结:1)要激发Session_End(),必须正确配置Web.config,如<sessionState timeout="1" mode="InProc" />2)Session_End()中是无法获得HttpContext对象的。3)执行Session.Abandon()后,客户端必须至少有一次请求,才能正确反应Session的状态。
扫一扫 在手机阅读、分享本文
C#快速释放内存的方法
阅读(255)
.Net访问共享文件(带身份验证)
阅读(916)
C#获取字体集合
阅读(72)
C#怎样操作Word
阅读(108)
Gridview导出为Excel和怎样避免乱码
阅读(797)
Linq使用聚合查询表没有记录报错
阅读(123)
破解网页加密的源代码
阅读(76)
用Asp.net实现发送电子邮件
阅读(318)
Silverlight4支持打印大头贴
阅读(130)
C#两个DataTable Left join连接
阅读(315)
Windows自带NAT端口映射
2015-11-13
2014-07-02
2014-07-01
向silverlight传递自定义参数
2013-10-10
PrintPreviewDialog简单加控件
2013-05-09
C# 创建临时文件
2013-05-07
C#压缩和修复Access数据库
2013-05-06
LINQ操作Access数据库
2013-04-11
C#Winfrom点击DataGridView单选整行
2013-04-07
获取Access数据库中的所有表名
2013-04-02
年月日正则表达式
Years on regular expressions...
WebBrowser 跨域访问iframe页面的内容
Firefox中使用ActiveX OCX配置方法
showModalDialog模式窗口提交打开新页面的解决办法
ValidateRequest=false 在.Net 4.0 中不管用
未给任务 SignFile 的所需参数 CertificateThumbprint 赋值
e.Row.RowState 即是Alternate又是Edit,我判断的时候怎么写?e.Row.RowState == DataControlRowState.Edit只能一个
弹出窗口怎样才不被拦截呢
.net 为什么引用不了MSWORD OLB
无法启用共享访问的解决方法(0x80004005)
乡镇卫生院服务能力标准(2022版)等3项服务能力标准
3 service capacity standards, including the service capacity standards of township health centers (2022 version)....
“十四五”全民健康信息化规划
卫计委中医司和中医药管理局合并成立中医继承和发展委员会
关于开展2021年居家和社区基本养老服务提升行动项目成果验收的通知
中国工程建设标准化协会《建设项目全过程工程咨询管理标准》
什么是中医的经络学说呢
自然资源部发布《国土空间用途管制数据规范(试行)》
农业农村部统筹谋划种质资源库建设
新一代数字高程模型已实现国土全覆盖
小暑养生的秘密