会话超时

时间:2009-12-10 13:29:46

标签: c# .net asp.net javascript scripting

<script language="javascript" type="text/javascript">
    setTimeout('SessionTimeout()', <%= Session.Timeout * 60 * 1000 %>);
    function SessionTimeout() {
        alert(<%= "'Session time out!!'" %>);
        window.location = "Default.aspx"
    }
</script>

以上代码是否有助于会话超时? 如果是这样多少分钟? 我怎么能把它增加到19分钟?

请帮助!!

3 个答案:

答案 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分钟。