このjquery関数を使用して、5秒ごとにセッションがまだ生きているかどうかを確認しようとしています
setTimeout(IsSessionAlive, 5000);
function IsSessionAlive()
{
$.getJSON('@Url.Action("IsSessionAlive", "Account")', function (isAlive) {
if (!isAlive)
alert(isAlive);
setTimeout(IsSessionAlive, 5000);
});
}
そして、これは私がサーバーからセッション状態を取得しようとしている方法です
public JsonResult IsSessionAlive()
{
var isA = Request.IsAuthenticated;
return Json(Session["LoggedIn"] != null, JsonRequestBehavior.AllowGet);
}
コードをテストするために、LogOnでこれを行っています
Session["LoggedIn"] = true;
Session.Timeout = 1;
そして、1分間非アクティブになった後、セッションが破棄され、jqueryがセッションをチェックすると、nullが検出され、パスワードを再度入力する必要があるというポップアップがユーザーに表示されることを期待しています。しかし、セッションがnullだとは決して思いません!! 何か案が?