解決策を確認しましたが、asp.netmvcに転送されていないようです。基本的に、セッションが期限切れになる1分前にユーザーに通知されるソリューションを探しています。
理想的な解決策は、セッションを更新するオプションを持つカウントダウン通知です。
ユーザーがページを更新せずにカウントダウンタイマーが期限切れになった場合は、ログアウトする必要があります。
解決策を確認しましたが、asp.netmvcに転送されていないようです。基本的に、セッションが期限切れになる1分前にユーザーに通知されるソリューションを探しています。
理想的な解決策は、セッションを更新するオプションを持つカウントダウン通知です。
ユーザーがページを更新せずにカウントダウンタイマーが期限切れになった場合は、ログアウトする必要があります。
このようなもの:
public class YourController : Controller {
public ActionResult TheAction() {
ViewData["SessionTimeout"] = Request.Session.Timout;
ViewData["SessionWillExpireOn"] = DateTime.Now.AddMinutes(Request.Session.Timeout);
return View(info);
}
}
この:
<span>Your session will expire: <%= ViewData["SessionWillExpireOn"].ToString() %></span>
<span id="countDown" style="display:none></span>
<script type="text/javascript">
var sessionTimout = <%= ViewData["SessionTimeout"].ToString(); %>;
var approximateStart = new Date();
var notifyAfter = new Date(approximateStart + (sessionTimout - 1)*60*1000);
function startCountDown() {
setTimout(function() {
var now = new Date();
document.getElementById('countDown').style.display = 'inline';
document.getElementById('countDown').innerHTML = "Countdown: " + now.getMinutes();
if (now >= notifyAfter)
alert('About to expire...');
}, 5000);
}
document.onload=startCountDown;
</script>
ビューをメモ帳で書き込んだので、構文を確認してください。また、JSのDateTimeのものを正確に覚えていません。
とにかくあなたはその考えを見るはずです。