<script language="javascript" type="text/javascript">
setTimeout('SessionTimeout()', <%= Session.Timeout * 60 * 1000 %>);
function SessionTimeout() {
alert(<%= "'Session time out!!'" %>);
window.location = "Default.aspx"
}
</script>
以上代码是否有助于会话超时? 如果是这样多少分钟? 我怎么能把它增加到19分钟?
请帮助!!
答案 0 :(得分:2)
在ASP.NET中,Session.Timeout默认为20分钟。在上面的示例中,SessionTimeout()javascript函数应该在同一页面上20分钟后调用。您可以使用web.config文件配置会话超时。
有关编辑web.config检查的信息,请参阅MSDN
答案 1 :(得分:1)
会话timout在您网站的Web服务器(IIS)设置中设置。以下是IIS 7的说明。
您的代码所执行的操作将重置超时,但前提是页面在实际发生超时之前刷新。
您在超时发生后重定向到default.aspx,而不是之前。
答案 2 :(得分:1)
要将超时设置为19分钟,请使用:
setTimeout(SessionTimeout, 19 * 60 * 1000);
或者你可以使用1140000(19分钟内的毫秒数)而不是19 * 60 * 1000 - 但后者使你更清楚你正在做什么。
我猜你想要19分钟,因为ASP.NET超时默认为20分钟,你想在发生这种情况之前重定向用户。如果要将超时设置为小于ASP.NET超时1分钟,则:
setTimeout(SessionTimeout, <%= (Session.Timeout - 1) * 60 * 1000 %>);
这也会导致默认的ASP.NET会话超时超时19分钟。但是,如果更改了ASP.NET超时,则会随之更改,保持比ASP.NET超时少1分钟。