2

Session.Timeout只返回静态值Web.Config。但我想获得当前会话到期还剩多少秒的值。我应该怎么办?


我试图Session.Timeout从 JavaScript 中检索。

setInterval('checkSession()', 100);

而且checkSession()是:

function checkSession() {
    console.log('Timeout: <%= Session.Timeout %>');
}

该页面吐出Session.Timeout几分钟的当前值,它仅证明这Session.Timeout是 my 中设置的静态值Web.Config,而不是显示还剩多少分钟的动态值。

4

2 回答 2

2

我认为,如果您像大多数在线银行网站一样在客户端进行此控制,这才有意义。

<script>
   var timeLeft = <%= Session.Timeout * 60 %>; // seconds
   self.setInterval(checkTime, 1000);
   function checkTime()
   {
       timeLeft--;
       if (timeLeft < 120) // 2 minutes left
       {
         alert("2 minutes left.");
         // well you can refresh or close the page
         document.frames["iframeSession"].location.reload();
       }
   }

</script>
于 2012-10-24T17:12:34.327 回答
0

如果您想在服务器上执行此操作(这没有多大意义),则等于Session.Timeout因为您正在会话中主动处理请求。

要在客户端执行此操作,您只需将Session.Timeout值传递给页面并使用 javascript 使用它(记录页面呈现的时间并将当前时间与之比较)。

于 2012-10-24T16:58:37.283 回答