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

 
发现直接在web.config文件里添加<sessionState mode="InProc" timeout="300"></sessionState> 后,session还是很快就会超时,网上查到资料后试了下,加入如下代码可以对session超时时长进行有效控制:

<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 超时控制的更多相关文章

  1. ExtJS4.2.1与Spring MVC实现Session超时控制

    假设你的项目使用ExtJS作为表现层.你会发现,SESSION超时控制将是一个问题. 本文将就自己的经验.来解决这一问题.当然,解决这个问题并不是仅仅有一种方法,我仅仅是提出我的方法. 首先.做超时控 ...

  2. Extjs springmvc session 超时 处理

    如果你的项目使用ExtJS作为表现层,你会发现,SESSION超时控制将是一个问题.本文将就自己的经验,来解决这一问题,当然,解决问题并非只有一种方法,我只是提出我的方法.首先,做超时控制,必需使用过 ...

  3. Spring Boot+redis存储session,满足集群部署、分布式系统的session共享

    本文讲述spring-boot工程中使用spring-session机制进行安全认证,并且通过redis存储session,满足集群部署.分布式系统的session共享. 原文链接:https://w ...

  4. session实现购物车

    为实现简单的购物功能(购物车添加.账户查看.购物车商品删除.实时的购物商品数量及价格的计算显示.购物车商品数量可手动输入等),用session实现了一简单的以php语言为基础.连接MySQL数据库的购 ...

  5. Asp.net Core中使用Session

    前言 2017年就这么悄无声息的开始了,2017年对我来说又是特别重要的一年. 元旦放假在家写了个Asp.net Core验证码登录, 做demo的过程中遇到两个小问题,第一是在Asp.net Cor ...

  6. 懒加载session 无法打开 no session or session was closed 解决办法(完美解决)

           首先说明一下,hibernate的延迟加载特性(lazy).所谓的延迟加载就是当真正需要查询数据时才执行数据加载操作.因为hibernate当中支持实体对象,外键会与实体对象关联起来.如 ...

  7. 探索ASP.NET MVC5系列之~~~6.Session篇(进程外Session)

    其实任何资料里面的任何知识点都无所谓,都是不重要的,重要的是学习方法,自行摸索的过程(不妥之处欢迎指正) 汇总:http://www.cnblogs.com/dunitian/p/4822808.ht ...

  8. Nhibernate的Session管理

    参考:http://www.cnblogs.com/renrenqq/archive/2006/08/04/467688.html 但这个方法还不能解决Session缓存问题,由于创建Session需 ...

  9. nginx+iis+redis+Task.MainForm构建分布式架构 之 (redis存储分布式共享的session及共享session运作流程)

    本次要分享的是利用windows+nginx+iis+redis+Task.MainForm组建分布式架构,上一篇分享文章制作是在windows上使用的nginx,一般正式发布的时候是在linux来配 ...

随机推荐

  1. ASP.Net上传大文件解决方案之IIS7.0下的配置

    开源的Brettle.Web.NeatUpload.在公司IIS6.0使用正常,但是在Windows 2008 server IIS7上使用不正常.在网上看到一个解决办法但是没有效果 IIS 7 默认 ...

  2. 黄聪:如何为IIS增加svg和woff等字体格式的MIME

    现在字体图标已经渐渐代替了图片了,移动端用起来也很方便. 使用了字体文件来显示矢量的图标,为了能在IIS上正常显示图标,可以通过增加iis的MIME-TYPE来支持图标字体文件 下面就把IIS增加sv ...

  3. EventBus--出现的问题

    --- 1 , EventBus收不到消息问题. 项目中遇到的问题,做搜索商品的时候遇到, 1.情况是一个FragmentActivity包含四个碎片Fragment,在FragmentActivit ...

  4. SpringMVC学习系列(11) 之 表单标签

    本篇我们来学习Spring MVC表单标签的使用,借助于Spring MVC提供的表单标签可以让我们在视图上展示WebModel中的数据更加轻松. 一.首先我们先做一个简单了例子来对Spring MV ...

  5. github代码集合(转载)

    菜鸟新闻项目课程源码  https://github.com/yxs666/cniao5-news SwipeRefreshLayout + RecyclerView 下拉刷新和上拉加载更多 http ...

  6. Convert Excel data to MDB file

    所需组件: microsoft ado ext. 2.8 for ddl and security 或者更新的组件. 添加: using ADOX;using System.Runtime.Inter ...

  7. C语言scanf函数详细解释

    原文链接 函数名: scanf 功 能: 执行格式化输入 用 法: int scanf(char *format[,argument,...]); scanf()函数是通用终端格式化输入函数,它从标准 ...

  8. (原)Android理论梳理-No1异步处理之Handler相关机制

    1 Handler的基本概念: 什么是handler? Handler是安卓系统的一种回调机制. handler的作用? 他的作用是用于不同线程之间的通讯.一是可以用于子线程与UI线程的数据通信,因为 ...

  9. 使用delphi+intraweb进行微信开发1--微信平台接入

    示例代码已经放出!请移步使用delphi+intraweb进行微信开发1~4代码示例进行下载,虽为示例代码但是是从我项目中移出来的,封装很完备适于自行扩展和修改. iw14.0.50来了,在新的版本中 ...

  10. ios开发中遇到的编译错误总结

    1:Undefined symbols for architecture arm64: ? 1 2 3 <code>Undefined symbols for architecture a ...