セッションが常に継続するようにするために、単純な stayalive.aspx ページを作成しました。ページのヘッダーには、5 分ごとにページを更新するためのメタデータが含まれています。
私のページ読み込みロジックでは、セッションに値を設定するだけです。
protected void Page_Load(object sender, EventArgs e) {
System.Web.HttpContext.Current.Session["Alive"] = 1;
}
私の理解では、セッションに価値を置き続ける限り、セッションは存続し続けます。ただし、これは機能していないようです。まだ約 30 分でセッション タイムアウトが発生します。
なぜ機能しないのかについて誰かが洞察を持っているかどうか疑問に思っています。
web.config のセッション状態とフォーム認証のタイムアウト値が 300 (5 時間) に設定されていることに注意してください。
私が考えていたのは、セッションで同じ値を設定する代わりに、毎回異なる値を設定することでした:
System.Web.HttpContext.Current.Session["Alive"] = DateTime.Now;
これが役立つと思いますか?