保持Session的方法:經過測試發現最大值為24小時,也就是說妳最大可以session.timeout=1440,1441都是不可以有,呵呵。
測試環境:win2003+IIS6.0+ASP3.0。?
所以想通過設session.timeout的過期時間讓session永不過期是不可能的。寫到Cookies裏是比較好的方法,網上也有很多這樣的教程,這裏就不再說了!還有就是用在要保持session的頁裏設隱藏iframe每隔壹段時間(這個時間小於session.timeout的時間)把刷新壹次frame裏的空頁面!實現方法如下:?
在要保持session頁裏加上:?
<iframe?width=0?height=0?src="/blog/SessionKeeper.asp">?</iframe>同目錄下建壹下SessionKeeper.asp的文件。?
<html>?<head>?
<meta?http-equiv="Refresh"?content="900000;url=sessionKeeper.asp">?
<!--每隔900秒刷新壹下自己,為了和服務器通訊壹下,保持session不會丟-->?
</head>?
</html>
這種方法還是比較長見的,另外還有壹種和上面類似的方法,不過他不是用meta自動刷新嵌套的iframe的方法。他是用javascript:window.setTimeout("functionname()",10000);第隔壹段時間時間自動調用壹個函數的方法,當然函數裏還是要去連接壹個空的文件。具體方法如下:?
在要保持session面裏加上:?
<script?id=Back?language=javascript></script>?<script?language=javascript>?
function?keepsession(){?
document.all["Back"].src="/blog/SessionKeeper.asp?RandStr="+Math.random();?
//這裏的RandStr=Math.random只是為了讓每次back.src的值不同,防止同壹地址刷新無效的情況?
window.setTimeout("keepsession()",900000);?//每隔900秒調用壹下本身?
}?
keepsession();?
</script>
這樣同壹目錄下建壹個空內容的sessionKeeper.asp就文件就可以了!?