.net Session 超时控制
webconfig里明明设置了timeout是很大的数值了,可是session的有效性仍然无法维持一小时。
查了一下,主要是说 mode="InProc" 的话,session是放在进程里的,这样最容易丢失。如果放在 服务和数据库,会稳定一些。 很多人都放 服务里吗?
cookieless设置成true有必要吗?
http://blog.csdn.net/kaifa123/article/details/6890106
==============================================================
.net Session 超时控制
http://blog.csdn.net/freeman127/article/details/8633449
<sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" cookieless ="false" timeout="240" stateNetworkTimeout="14400"></sessionState>
加上之后,还需在网站所在服务器上打开"服务"——ASP.NET State Service 设置为启动,并自动后即可。
mode 指定在哪里存储会话状态。
Off 指示会话状态未启用。
InProc 指示在本地存储会话状态。
StateServer 指示在远程计算机上存储会话状态。
SQLServer 指示在 SQL Server 上存储会话状态。
session默认的超时时间是20分钟,页面20分钟没有动作就会超时了。可以再webconfig里面进行修改。
- 追问:
-
我已经设置成60分钟,就算是默认20分钟,有时没几分钟也超时了。
- 回答:
-
asp.net session超时的解决办法 收藏 第一个办法:
我有好办法。并且一直用,感觉很爽。
1、在web.config里面加入:<sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" cookieless ="false" timeout="240" stateNetworkTimeout="14400"></sessionState>
2、点击电脑左下角 开始->运行->输入 services.msc 回车 找到ASP.NET State Service,双击,改成自动,并启用。
其中 stateNetworkTimeout 为 在客户端与服务器之间 多长时间没有传送信息则断开他们之间的连接。我设置的是14400,即:14400/60/60=4小时
缺点:在服务器中用ASP.NET State Service服务存储session。会造成服务器资源的紧张。如果有money的话最好买一台服务器专门做session服务。当然,对于小应用无所谓。做过一个小的日志系统,日志,顾名思意,就是网页长期打开,有事的话就往上面录,运行了一年,没有因为session出过问题。
第二个办法(推荐使用):
1)创建一个文件savesession.js(xhbmj:js最好重写一下以支持更多浏览器,用jquery最好) function createXmlHttpRequest() { var xmlhttp; try{ xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); //IE 5.0版本 } catch(e){ try{ xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); //IE 5.5版本 } catch(e){ try{ xmlhttp = new XMLHttpRequest(); //不支持ActiveX空间的浏览器 } catch(e){} } } return xmlhttp; }
function Reconnect() { var url='reconnect.aspx' xmlHttp=createXmlHttpRequest() xmlHttp.open('GET', url , true) xmlHttp.send(null) //只要求与服务器联系,不要求返回数据,因此,不进行返回处理 }
function refreshme() { setInterval("Reconnect();", 60000); //此时间根据实际情况调整 }
2)在需要维持session的页面加上 <script language="javascript" src="savesession.js"></script>,在<body>里面加上onload="refreshme();" 3)创建reconnect.aspx页面,可以没有内容的任何.aspx页面。
第三个办法:自创
建立一个空页面,设置页面自动刷新,可使用html的定时刷新,cs文件里随便写些东西如:
string str = Session["LoginID"].ToString();//最好加个判断null的判断
把这个页面作为iframe嵌入需要长时间操作的页面,设置iframe的宽高都为0
- 追问:
-
第一种方法是可以,自己有服务器一般都这样配置。
=====================================================================
.net Session 超时控制的更多相关文章
- ExtJS4.2.1与Spring MVC实现Session超时控制
假设你的项目使用ExtJS作为表现层.你会发现,SESSION超时控制将是一个问题. 本文将就自己的经验.来解决这一问题.当然,解决这个问题并不是仅仅有一种方法,我仅仅是提出我的方法. 首先.做超时控 ...
- Extjs springmvc session 超时 处理
如果你的项目使用ExtJS作为表现层,你会发现,SESSION超时控制将是一个问题.本文将就自己的经验,来解决这一问题,当然,解决问题并非只有一种方法,我只是提出我的方法.首先,做超时控制,必需使用过 ...
- Spring Boot+redis存储session,满足集群部署、分布式系统的session共享
本文讲述spring-boot工程中使用spring-session机制进行安全认证,并且通过redis存储session,满足集群部署.分布式系统的session共享. 原文链接:https://w ...
- session实现购物车
为实现简单的购物功能(购物车添加.账户查看.购物车商品删除.实时的购物商品数量及价格的计算显示.购物车商品数量可手动输入等),用session实现了一简单的以php语言为基础.连接MySQL数据库的购 ...
- Asp.net Core中使用Session
前言 2017年就这么悄无声息的开始了,2017年对我来说又是特别重要的一年. 元旦放假在家写了个Asp.net Core验证码登录, 做demo的过程中遇到两个小问题,第一是在Asp.net Cor ...
- 懒加载session 无法打开 no session or session was closed 解决办法(完美解决)
首先说明一下,hibernate的延迟加载特性(lazy).所谓的延迟加载就是当真正需要查询数据时才执行数据加载操作.因为hibernate当中支持实体对象,外键会与实体对象关联起来.如 ...
- 探索ASP.NET MVC5系列之~~~6.Session篇(进程外Session)
其实任何资料里面的任何知识点都无所谓,都是不重要的,重要的是学习方法,自行摸索的过程(不妥之处欢迎指正) 汇总:http://www.cnblogs.com/dunitian/p/4822808.ht ...
- Nhibernate的Session管理
参考:http://www.cnblogs.com/renrenqq/archive/2006/08/04/467688.html 但这个方法还不能解决Session缓存问题,由于创建Session需 ...
- nginx+iis+redis+Task.MainForm构建分布式架构 之 (redis存储分布式共享的session及共享session运作流程)
本次要分享的是利用windows+nginx+iis+redis+Task.MainForm组建分布式架构,上一篇分享文章制作是在windows上使用的nginx,一般正式发布的时候是在linux来配 ...
随机推荐
- ASP.Net上传大文件解决方案之IIS7.0下的配置
开源的Brettle.Web.NeatUpload.在公司IIS6.0使用正常,但是在Windows 2008 server IIS7上使用不正常.在网上看到一个解决办法但是没有效果 IIS 7 默认 ...
- 黄聪:如何为IIS增加svg和woff等字体格式的MIME
现在字体图标已经渐渐代替了图片了,移动端用起来也很方便. 使用了字体文件来显示矢量的图标,为了能在IIS上正常显示图标,可以通过增加iis的MIME-TYPE来支持图标字体文件 下面就把IIS增加sv ...
- EventBus--出现的问题
--- 1 , EventBus收不到消息问题. 项目中遇到的问题,做搜索商品的时候遇到, 1.情况是一个FragmentActivity包含四个碎片Fragment,在FragmentActivit ...
- SpringMVC学习系列(11) 之 表单标签
本篇我们来学习Spring MVC表单标签的使用,借助于Spring MVC提供的表单标签可以让我们在视图上展示WebModel中的数据更加轻松. 一.首先我们先做一个简单了例子来对Spring MV ...
- github代码集合(转载)
菜鸟新闻项目课程源码 https://github.com/yxs666/cniao5-news SwipeRefreshLayout + RecyclerView 下拉刷新和上拉加载更多 http ...
- Convert Excel data to MDB file
所需组件: microsoft ado ext. 2.8 for ddl and security 或者更新的组件. 添加: using ADOX;using System.Runtime.Inter ...
- C语言scanf函数详细解释
原文链接 函数名: scanf 功 能: 执行格式化输入 用 法: int scanf(char *format[,argument,...]); scanf()函数是通用终端格式化输入函数,它从标准 ...
- (原)Android理论梳理-No1异步处理之Handler相关机制
1 Handler的基本概念: 什么是handler? Handler是安卓系统的一种回调机制. handler的作用? 他的作用是用于不同线程之间的通讯.一是可以用于子线程与UI线程的数据通信,因为 ...
- 使用delphi+intraweb进行微信开发1--微信平台接入
示例代码已经放出!请移步使用delphi+intraweb进行微信开发1~4代码示例进行下载,虽为示例代码但是是从我项目中移出来的,封装很完备适于自行扩展和修改. iw14.0.50来了,在新的版本中 ...
- ios开发中遇到的编译错误总结
1:Undefined symbols for architecture arm64: ? 1 2 3 <code>Undefined symbols for architecture a ...