机器Session总是过期 怎么解决?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器Session总是过期 怎么解决?相关的知识,希望对你有一定的参考价值。

机器Session总是过期 怎么解决?

参考技术A 希望以下方法能帮到你:

问题存在的可能性:
第一,如果客户端不允许cookie操作,session将失效。因为session是依赖于cookie的。
第二,session有失效时间的设定。缺省的设置是20分钟。你可以这样修改它:Web directory -> Properties -> Virtual directory -> Application settings -> Configuration -> App Options -> Session timeout
或者在ASP中,写上这样的代码:Session.timeout=60 。
第三,session是和具体的Web Application相关的。如果用户从/products/default.asp浏览到/jobs/default.asp,也可能造成session的重新创建。

怎么清除一个不再需要的session变量但不使session失效?
在ASP3.0中:
Session.Contents.Remove "变量名"
可以清除一个变量。
在ASP2.0中:
set session("变量名")=NULL
可以清除变量。
在ASP3.0中,
Session.Contents.RemoveAll
可以清除所有的session变量和session.abandon不同,上面的方法都不会使目前的session过期或者无效。本回答被提问者采纳
参考技术B 我在页面的创建了一个iframe,设置高宽均为0来达到隐藏的目的。

在iframe里有一个页面a是每5分钟自动刷新的。

a里面有一句session("s")=session("s")。
服务器断开后会重新产生一个SessionID,如果要永久保存登陆信息则可以考虑COOKIES,安全问题可以把保存在COOKIES里的数据进行加密.

用Session.Timeout可以强制设置Session的有效期
参考技术C 有以下几中情况 你好好看下 我把详细的资料都给你复制过来了 你对照下

public static Account LoginAccount

get
object account = HttpContext.Current.Session["Acount"];
if( account==null )

//方法一是return null;
//方法二是重定向到Login页面:
Response.Redirect( "http://"+Server.MachineName+"/"+HttpContext.Current.Request.ApplicationPath+"/login.aspx" );
//假设你的登陆页面在根目录下,这里要用绝对路径,相对路径不能满足所有的地方

return (Account)HttpContext.Current.Session["Acount"];

set HttpContext.Current.Session["Acount"] = value;


第二种:

每次使用 Session 前都要判断Session是否存在。

if(Session["test"] == null)

Response.Write("不存在");
参考技术D 第一种:php 中session过期的时间怎么设置?如下.
http://blog.chinaunix.net/u1/33940/showart_325220.html

第2种:
打开resin\conf中的resin.conf 配置文件,其中session配置如下
 <session-config>
  <session-max>4096</session-max>
  <session-timeout>30</session-timeout>
  <enable-cookies>true</enable-cookies>
  <enable-url-rewriting>true</enable-url-rewriting>
  <file-store>WEB-INF/sessions</file-store>
  </session-config>

  session-max :最大 session数量
  session-timeout :session过期时间,以分钟为单位。

3:
HttpSession.setMaxInactiveInterval(int i)
1,如果i为负数的话,那么是session永远不过期
2,如果i为正数的话,那么就是session的有效时间
3,如果i=0的话,有时代表什么?
session永远不过期,还是保持原先的设置,还是session有效期间是0
我查过了,0的话,也是不过期,当然是在没有关闭网页的时候

暂时就这些吧..你自己看.
第5个回答  2007-09-19 看看时间是否出错

SESSION_EXPIRED : session过期 这是啥意思啊怎样解决这个问题啊

Session:在计算机中,尤其是在网络应用中,称为“会话”。

Session直接翻译成中文比较困难,一般都译成时域。在计算机专业术语中,Session是指一个终端用户与交互系统进行通信的时间间隔,通常指从注册进入系统到注销退出系统之间所经过的时间。具体到Web中的Session指的就是用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间。因此从上述的定义中我们可以看到,Session实际上是一个特定的时间概念。

解决方法:

(1)在主页面或者公共页面中加入:session.setMaxInactiveInterval(900); 

(2)参数900单位是秒,即在没有活动15分钟后,session将失效。 

(3)这里要注意这个session设置的时间是根据服务器来计算的,而不是客户端。所以如果是在调试程序,应该是修改服务器端时间来测试,而不是客户端。

参考技术A Session:在计算机中,尤其是在网络应用中,称为“会话”。Session直接翻译成中文比较困难,一般都译成时域。在计算机专业术语中,Session是指一个终端用户与交互系统进行通信的时间间隔,通常指从注册进入系统到注销退出系统之间所经过的时间。具体到Web中的Session指的就是用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间。因此从上述的定义中我们可以看到,Session实际上是一个特定的时间概念。

以上是关于机器Session总是过期 怎么解决?的主要内容,如果未能解决你的问题,请参考以下文章

如何解决session时间过期

session过期啥意思

session过期怎么恢复

session过期怎么办

SESSION_EXPIRED : session过期 这是啥意思啊怎样解决这个问题啊

php学习笔记-会话控制简单介绍session和cookie