http://www.jb51.net/article/31217.htm

asp中设置session过期时间方法总结

作者: 字体:[增加 减小] 类型:转载
 
asp中默认session过期时间为20分钟,很多情况下不够,今天有客户要求很多就要重新登录了,所以准备了这篇文章,方便需要的朋友
 
如果程序中没有设置session的过期时间,那么session过期时间就会按照IIS设置的过期时间来执行,IIS中session默认过期时间为20分钟,IIS中session时间可以更改

时间设置要放在前面

例如

复制代码代码如下:
Session.Timeout=30 'SEESION有效时间为30分钟 
Session("ID")=Rs("id") 
Session("Name")=Rs("Name") 
Session("Pass")=Rs("Pass" 

利用 Session.Timeout 属性设置超时时限

对于一个登录到 ASP 应用程序的用户,如果用户在系统默认的时间内未进行其它任何操作,当设置的时间一到便自动撤销这个用户的 Session,这样就可以防止系统的资源被浪费。Session 对象的 TimeOut 属性可以用来设置“过期时间”,已分钟为单位,其设置格式为:

复制代码代码如下:
Session.TimeOut=MaxTime 

实例代码:(5.asp)页面,本实例说明如何控制会话的结束。

复制代码代码如下:
<%@ language="vbscript" %> 
<% session.timeout=60 %> 
<html> 
<head><title>控制会话的结束时间</title><head> 
<body> 
<% 
who = Session.SessionID 
CurrentPage=Request.ServerVariables("SCRIPT_NAME") 
Response.AppendTolog who & ":" & CurrentPage 
Response.write "<center>你的会话标识为:" & who & "<p>" 
Response.write "你当前访问的页面路径为:" & CurrentPage & "<p>" 
if Session("I")="" then 
session("i")=1 
else 
session("i")=session("i")+1 
end if 
Session.Abandon 
Response.write "本页面被你刷新了" & Session("i") & "次。</centr>" 
%> 

Asp.net应用中,很多人会遇到Session过期设置有冲突。其中,可以有四处设置Session的过期时间:

一、全局网站(即服务器)级

IIS-网站-属性-Asp.net-编辑配置-状态管理-会话超时(分钟)-设置为120,即为2小时,即120分钟后如果当前用户没有操作,那么Session就会自动过期。

二、网站级

IIS-网站-具体网站(如DemoSite)-属性-Asp.net,此时有两个选项,一个是“编辑全局配置”,一个是“编辑配置”。 
如果“编辑全局配置”,就和上个配置一样。 
如果“编辑配置”,则只对当前网站生效。因为一个服务器可能有很多独立网站。 
1、继续选择“状态管理”-会话超时(分钟)-设置为360,即360分钟。效果同上,只不过只对当前网站生效。 
2、身份认证-Forms-Cooke超时,选择"12:00:00",即12个小时。可选项共有以下八项: 
00:15:00 
00:30:00 
01:00:00 
02:00:00 
04:00:00 
08:00:00 
12:00:00 
1:00:00:00 
即最长24小时,最小15分钟。这是默认的配置。在应用中可以自由定制。

三、应用程序级 

同网站管理,只不过作用域仅限当前应用程序。

四、页面级

在某页面中,设置Session.Timeout = 30;即可临时修改某页面的会话过期时间。 
查看某个Session的过期时间,可以用

复制代码代码如下:
TimeSpan SessTimeOut = new TimeSpan(0, 0, System.Web.HttpContext.Current.Session.Timeout, 0, 0); 
TimeSpan SessTimeOut = new TimeSpan(0, 0, System.Web.HttpContext.Current.Session.Timeout, 0, 0); 

其中,二和三的设置,体现在Web.config中即:

复制代码代码如下:
view plaincopy to clipboardprint? 
<?xml version="1.0"?> 
<configuration> 
<system.web> 
<authentication mode="Forms" > 
<forms name="AuthLogin" loginUrl="/Login.aspx" protection="All" timeout="360" slidingExpiration="true"/> 
</authentication> 
<sessionState mode="InProc" cookieless="false" timeout="20" /> 
</system.web> 
<location path="Login.aspx"> 
<system.web> 
<authorization> 
<allow users="*" /> 
</authorization> 
</system.web> 
</location> 
</configuration> 
<?xml version="1.0"?> 
<configuration> 
<system.web> 
<authentication mode="Forms" > 
<forms name="AuthLogin" loginUrl="/Login.aspx" protection="All" timeout="360" slidingExpiration="true"/> 
</authentication> 
<sessionState mode="InProc" cookieless="false" timeout="20" /> 
</system.web> 
<location path="Login.aspx"> 
<system.web> 
<authorization> 
<allow users="*" /> 
</authorization> 
</system.web> 
</location> 
</configuration> 

以上四处设置的优先级为页面级>应用程序级>网站级>服务器级。换句话说,如果页面设置为20分钟,网站设置为120分钟,那么,显然以20分钟为生效的过期时间。

另外一个值得注意 的地方。

在设置二处,设置会话超时(SessionState)120分钟,而同时用forms认证,设置为“00:15:00”,即15分钟,并且slidingExpirationo为false,则真正生效的Session过期时间是多少呢?

有效的结果是SessionState的设置,即120分钟。

如果有设置Session过期时间没有生效的,请检查以上几处配置

网上找到的其它方法

1、操作系统:Widnows Server 2003 
  步骤:开始——〉管理工具——〉Internet信息服务(IIS)管理器——〉网站——〉默认网站——〉右键“属性”——〉主目录——〉配置——〉选项——〉启用会话状态——〉会话超时(在这儿设置你要的超时时间,单位分钟)。确定即可。 
  2、ASP.NET应用程序中Session过期时间的设置 
  在ASP.NET这样的Web应用中,Session是用来保存用户状态的常用手段,不过由于服务器内存空间是有限的,所以Session过期时间设置是很有必要的。在ASP.NET中如何设置Session的过期时间呢,很简单,修改web.config配置。 
  具体修改方法如下,在web.config中进行如下配置

复制代码代码如下:
  <system.web> 
  <sessionState mode="InProc" timeout="30"/> 
  </system.web> 

  在这里指的是Session过期时间为30分钟。也就是说30分钟后如果当前用户没有操作,那么Session就会自动过期了。 
  3、在调用Session的cs页中,Load事件里面写以下

复制代码代码如下:
  Session.Timeout = 30; 

  4、Store session in asp.net state service

复制代码代码如下:
  <sessionState cookieless="false" timeout="480" mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;user id=sa;password=" /> 

asp中设置session过期时间方法总结的更多相关文章

  1. C# asp.net IIS 在web.config和IIS中设置Session过期时间

    有时候在web.config设置sessionState 或者类文件里设置Session.Timeout,在IIS里访问时每次都是达不到时间就超时,原因是因为在IIS中设置了Session的超时时间, ...

  2. Asp.NET设置Session过期时间的四种方式

    在Asp.net中,可以有四处设置Session的过期时间: 一.全局网站(即服务器)级 IIS-网站-属性-Asp.net-编辑配置-状态管理-会话超时(分钟)-设置为120,即为2小时,即120分 ...

  3. Java中设置Session过期时间(Spring Boot)

    1.Spring Boot: server.session.cookie.comment = #注释会话cookie. server.session.cookie.domain = #会话cookie ...

  4. java中设置session过期时间

    Web容器 apache-tomcat-8.0.26\conf\web.xml中设置 <session-config> <!-- 时间单位为分钟 --> <session ...

  5. 关于web会话中的session过期时间的设置

    关于web会话中的session过期时间的设置 1.操作系统: 步骤:开始——〉管理工具——〉Internet信息服务(IIS)管理器——〉网站——〉默认网站——〉右键“属性”——〉主目录——〉配置— ...

  6. asp.net web.config 设置Session过期时间

    在Asp.net中,可以有四处设置Session的过期时间:(原文作者:望月狼地址:http://www.cnblogs.com/wangyuelang0526/) 一.全局网站(即服务器)级 IIS ...

  7. 转:设置session过期时间

    在Asp.net应用中,很多人会遇到Session过期设置有冲突.其中,可以有四处设置Session的过期时间: 一.全局网站(即服务器)级 IIS-网站-属性-Asp.net-编辑配置-状态管理-会 ...

  8. YII2 设置session过期时间

    设置session过期时间 如何在YII里设置SESSION过期时间,而不需要在php.ini里面设置. 在protected/config/main.php里,设置: 代码如下 复制代码 'comp ...

  9. php中实现精确设置session过期时间的方法

    http://www.jb51.net/article/52309.htm 大多数据情况下我们对于session过期时间使用的是默认设置的时间,而对于一些有特殊要求的情况下我们可以设置一下sessio ...

随机推荐

  1. 如何给 Visual Studio 的输出程序添加版本信息

    出处:https://stackoverflow.com/questions/284258/how-do-i-set-the-version-information-for-an-existing-e ...

  2. material UI中子组件样式修改的几种方案研究

      material UI是一个流行的与React配套的前端UI框架,对于开发者而言,熟悉它的样式修改方案是必要的.但目前相关资料并不直观,并且没有总结到一起.如果对相关特性不太清楚,开发者很可能会在 ...

  3. Micropython教程之TPYBoard开发板驱动舵机教程(萝卜学科编程教育)

    大家应该都看到过机器人的手臂啊腿脚啊什么的一抽一抽的在动弹吧...是不是和机械舞一样的有节奏,现在很多机器人模型里面的动力器件都是舵机. 但是大家一般见到的动力器件都是像步进电机,直流电机这一类的动力 ...

  4. Java算法之 二分搜寻法 ( 搜寻原则的代表)

    为什么80%的码农都做不了架构师?>>>   二分搜寻法 ( 搜寻原则的代表) 1.二分查找又称折半查找,它是一种效率较高的查找方法. 2.二分查找要求:(1)必须采用顺序存储结构 ...

  5. APP路由还能这样玩

    本文主要讲述一种设计思路,组件化架构市面上已经有很多大厂成熟的方案,但是在组件化过程中,偶尔会遇到2个独立业务子模块间没有相互引用,也需要能直接调用对方的功能,因此我想到通过方法路由来解决,如果还有疑 ...

  6. 一个简易的SocketIM

    今天做了一个简易的socketIM的小示例.基本思想是开启两个winform,每个winform既充当服务器也充当客户端.一个监听8000端口,另外一个监听8001端口,两个winform接收到信息之 ...

  7. 图论--网络流--费用流--POJ 2156 Minimum Cost

    Description Dearboy, a goods victualer, now comes to a big problem, and he needs your help. In his s ...

  8. Nmon 监控性能分析

    一.CPU 信息 1.折线图中蓝线为 cpu 占有率变化情况:粉线为磁盘 IO 的变化情况: 2.下面表各种左边的位磁盘的总体数据,包括如下几个: Avg tps during an interval ...

  9. 在html中使用vue组件

    最近在维护公司的项目,当我拿到项目时,发现他用了vue. 但是~~仅仅是引用vue.js文件,整体的架构还是html那种,没有用webpack! 当时觉得~哇~原来还可以这样! 然后了解了业务逻辑和代 ...

  10. EOS基础全家桶(十)交易Action操作

    简介 区块链上的所有操作都是通过交易(Transaction)上链的,无论你是转账交易还是发起的智能合约的调用,而EOS和传统区块链不同的是EOS在一个交易里可以发起多个行为(Action),这使得E ...