如果出现Session变量老丢失的情况,该怎么解决

yelook 2003-03-19 01:37:40
虽然设置了session.timeout=60
可是还是经常丢失session变量
应该是站点的原因,重装系统肯定没问题
可是还没有其他办法
试着重装IIS,可是还是没有用
各位大虾,能不能帮我分析一下原因我解决问题的办法
...全文
100 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
yelook 2003-04-09
  • 打赏
  • 举报
回复
我的程序在自己机子上测试是没有问题呀,问题不出在程序上
IIS补丁在哪里有下载呀
是不是打了servicepack3就行了呀
可打了还是出现问题
lang11zi 2003-04-09
  • 打赏
  • 举报
回复
不用session也可以的,只要把变量传过去就是了。这又何必呢。
griffith 2003-03-19
  • 打赏
  • 举报
回复
因该是你程序的问题.
以前我也碰到过这种问题.
后来发现在程序中用到了wsh,触发了ie的安全机制,结果导致session丢失,讲安全设置改为最低,通过.session不再丢失.但....这个系统使用者会提心掉胆的...
最后不得不放弃了一些代码!
tenflee 2003-03-19
  • 打赏
  • 举报
回复
session变量丢失一般由以下问题造成:(纯属个人经验,其实还有其它方面,本人没有发现)
一、你在程序中执行了命令
session.Abandon
这样会去掉单个用户的所有session会话

二、打开一个自定义的窗口,如:
我曾经自定义一个打开窗口的函数,代码以下
<script language="JavaScript">
<!--
function openChromeslessWindow(openUrl, winName, wWidth, wHeight, wPosx, wPosy, wTIT,
windowBORDERCOLOR, windowBORDERCOLORsel, windowTITBGCOLOR, windowTITBGCOLORsel,
bCenter,sFontFamily, sFontSize, sFontColor){

openchromeless(openUrl,winName, wWidth, wHeight, wPosx, wPosy, wTIT, wTIT ,
windowBORDERCOLOR, windowBORDERCOLORsel, windowTITBGCOLOR, windowTITBGCOLORsel,
bCenter,sFontFamily, sFontSize, sFontColor);
}

function MM_swapImgRestore() { //v3.0
var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.0
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && document.getElementById) x=document.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
//-->
</script>
结果,session也是没有,空的。
三、在脚本 window.showModalDialog 的方法打开的窗口有时会没有session值,有时也会有,原因未知。

建议以下:

你在glonal.asa文件中定义session.timeout=60
,不要在其它页面定义值。
如果你的站点是虚拟目录的话,在主站点的配置文件中也要修改。

如果你的问题不在我提到的问题中的话,很抱歉了,
gianfeng 2003-03-19
  • 打赏
  • 举报
回复
IIS默认是20分钟,你把IIS设置时间长一点,看行不行?

程序里面设了,在IIS里面会怎么样呢?我没有试过。不知道行不行。
muxinpp 2003-03-19
  • 打赏
  • 举报
回复
程序上的问题
meizz 2003-03-19
  • 打赏
  • 举报
回复
打 MS 的 IIS 补丁
yelook 2003-03-19
  • 打赏
  • 举报
回复
可事实上还没有到失效的时间呀
这样就不太好了
csdntoll 2003-03-19
  • 打赏
  • 举报
回复
session变量是有时间限制的,超时就失效拉,用cookie

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧