2011-05-29 93 views
0

我想通過ASMX/WCF AJAX調用來檢查會話是否超時,但不擴展會話。檢查會話是否超時

我的會話超時時間爲30分鐘。如果我在第15分鐘進行AJAX呼叫檢查,則會話將自動延長30分鐘,因爲此呼叫是有效的用戶呼叫。

有沒有辦法檢查會話已超時或不通過AJAX調用?

感謝 Krish

回答

0

假設PHP,但是這可能是任何語言......

<script> 
    var session_timeout = <? echo session_cache_expire(); ?> * 1000; 
    setTimeout(function(){ 
    alert('session is about to expire!'); 
    },session_timeout - 5000); 
</script> 

這就是典型的網站是怎麼做的。保存頁面上的超時長度,然後在腳本中引用。可以使用提示符()並詢問他們是否要刷新,然後使用ajax來「ping」會話。

+0

如果用戶在共享同一會話的多個瀏覽器上工作,則此選項不起作用。 – Krish 2011-05-30 15:38:10

+0

@Krish:確實,但你可以使用[這個解決方案](http://stackoverflow.com/questions/4987582/communication-between-windows-tabs-with-javascript/5148906#5148906),並與每個選項卡交談,以便他們'重新同步。 – 2011-05-31 03:38:29