2013-05-30 42 views
0

我已經創建了一個心跳機制來保持用戶的會話存活。它將每60秒運行一次。問題是,爲什麼不把它設置爲15分鐘?另外,爲什麼要使用心跳;我不能只在IIS中設置我的會話到期時間?KeepSessionAlive心跳頻率

我只是想讓它如此,如果用戶離開頁面半小時左右,去吃午飯,他們可以回來,他們的會話將仍然在那裏,當他們點擊提交,所以他們贏得了'不會丟失他們離開前可能輸入的任何數據。

$(function() { 
    // every 60 seconds... 
    setInterval(KeepSessionAlive, 60000); 
}); 

function KeepSessionAlive() { 
    $.post("/FACTS/_code/Heartbeat.ashx", null, function() { 
     //console.log('Session is alive and kicking'); 
    }); 
} 
+1

你可以在你的web.config設置超時參數。我不記得我的頭頂,在我的SharePoint Silverlight應用程序中,我的設置爲20或30分鐘。你有沒有試過把它打開? – tnw

+0

是的,我已經在IIS中調用了它,所以我想我不再需要心跳了,對吧? – user1477388

+0

是什麼讓你說你不再需要心跳? – tnw

回答

1

如果您在.NET框架中使用Session,可以對其進行配置。

一個片段從http://msdn.microsoft.com/en-us/library/h6bb9cz9%28v=vs.100%29.aspx介紹如何,如果你正在使用SessionState的

<configuration> 
    <system.web> 
    <sessionState 
     mode="[Off|InProc|StateServer|SQLServer|Custom]" 
     timeout="number of minutes"> 
     <providers>...</providers> 
    </sessionState> 
    </system.web> 
</configuration 
+0

你是否推薦過心跳?如果我只能延長會話的半衰期,我不想要任何不必要的服務器。 – user1477388

+1

這是內置於服務器的,這意味着你不必爲了保持會話而保持連線上的持續流量。服務器會爲你做。我肯定會在心跳上推薦這個。 –

+0

那麼,如何在IIS中直接增加會話持續時間呢?參考。 http://technet.microsoft.com/en-us/library/cc725820(v=ws.10).aspx – user1477388