2

Session.Timeoutの静的な値のみを返しますWeb.Config。しかし、現在のセッションが期限切れになるまでの残り秒数の値を取得したいと考えています。私は何をすべきか?


Session.TimeoutJavaScript からを取得しようとしました。

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 に答える