私のホスティング環境では、セッションのタイムアウトが非常に短く、2 秒になることもあり、タイムアウトします。
セッションが null でカウントが 0 でない限り、ユーザーが引き続き Web サイトを使用すると、セッションはリセットされます。
セッションは 20 分後にタイムアウトし、ユーザーをログイン ページにリダイレクトする必要があります。
このコードは以下のとおりです。
protected override void OnInit(EventArgs e)
{
if (this.Session != null && this.Session.Count > 0)
{
string email = (string)this.Session["Email"];
int practiceId = (int)this.Session["PracticeId"];
int practitionerId = (int)this.Session["PractitionerId"];
this.ClientScript.RegisterHiddenField("loggedInUserName", email);
this.ClientScript.RegisterHiddenField("practiceId", practiceId.ToString());
this.ClientScript.RegisterHiddenField("practitionerId", practitionerId.ToString());
}
else
{
this.Session.Abandon();
Response.Cookies.Add(new HttpCookie("ASP.NET_SessionId", ""));
Response.Redirect("~/Default.aspx");
}
base.OnInit(e);
}
セッションタイムアウトが非常に短い理由を知っている人はいますか? 私のサイトを使用しているとき、タイムアウトなしで 2 ~ 5 分間動き回ることができ、それ以外の時間は 10 秒でタイムアウトになります。セッションが失われる原因は何ですか?セッションの損失を回避またはテストする方法はありますか?
前もって感謝します。