我的程序用的frameset框架,登录用的是membership,登录成功用session记录当前登录人的id。问题来了,当身份还没有过期的时候session丢失了,这样程序用到session时就出错啦!身份认证时间是20分钟,session也是20分钟。
在网上找的答案说可以用“ASP.NET 状态服务”保存session,我这样做了还是丢失,真是莫名其妙,求高手指点呀。
在网上找的答案说可以用“ASP.NET 状态服务”保存session,我这样做了还是丢失,真是莫名其妙,求高手指点呀。
<sessionState
mode="InProc"
timeout="20"
stateConnectionString="tcpip=192.168.0.30:11222;"
>可以通过单独的session服务器来保存session,或者保存在数据库
ASP.NET 状态服务 需要服务器打开才能用
比较推荐用加密的Cookie来记录或用SQL Server记录Session
建一script.aspx文件,啥也不写
在你页面上写入以下JS:function handsession()
{
var objScript = document.createElement('script');
objScript.language = 'javascript';
objScript.src = "script.aspx";
document.body.appendChild(objScript);
}
setTimeout('handsession()',100000);
{
var objScript = document.createElement('script');
objScript.language = 'javascript';
objScript.src = "script.aspx";
document.body.appendChild(objScript);
setTimeout('handsession()',100000);
}
handsession();少写了
session有一个有效期时间,不过这只是理想状态,正常情况下,服务器负载过大,资源消耗过高,或其它因素导致应用程序域重载时,session都会丢失.这是应用环境中非常正常的,常见的.
所以 除非是管理员登录后台,需要较高的安全级别,大多数网站都是通过cookie保存相关信息.
用session,真的是 赔了夫人又折兵