私たちは、web.configファイルにセッション時間&警告時間を定義し、ページ上の経過時間を確認するためにタイマーを使用してこれを処理することができます。
のWeb.Config:
<appSettings>
<add key="SessionWarning" value="30" />
</appSettings>
<system.web>
<sessionState timeout="45"/>
</system.web>
クライアントのページ:
<script language="javascript" type="text/javascript">
/* Page Time Out Warning Message Script */
var sessionTimeoutWarning = '<%=System.Configuration.ConfigurationSettings.AppSettings["SessionWarning"].ToString()%>';
var sessionTimeout = "<%= Session.Timeout %>";
var sTimeout = parseInt(sessionTimeoutWarning) * 60 * 1000;
var timeOnPageLoad = new Date();
setTimeout('SessionWarning()', sTimeout);
//To redirect to the home page
setTimeout('RedirectToWelcomePage()', parseInt(sessionTimeout) * 60 * 1000);
//Session Warning
function SessionWarning() {
//minutes left for expiry
var minutesForExpiry = (parseInt(sessionTimeout) -
parseInt(sessionTimeoutWarning));
var message = "Your session will expire in another " + minutesForExpiry +
" mins! Please Save the data before the session expires";
alert(message);
var currentTime = new Date();
//time for expiry
var timeForExpiry = timeOnPageLoad.setMinutes(timeOnPageLoad.getMinutes()
+ parseInt(sessionTimeout));
//Current time is greater than the expiry time
if (Date.parse(currentTime) > timeForExpiry) {
alert("Session expired. You will be redirected to home page");
window.location = "../Home.aspx";
}
}
//Session timeout add home page where you want to redirect after session timeout
function RedirectToWelcomePage() {
alert("Session expired. You will be redirected to home page");
window.location = "../Home.aspx";
}
/* End */
</script>
これはあなたに使用であるかもしれません:http://programmerramblings.blogspot.nl/2009/08/aspnet- session-timeout-control-jquery.html –