2

ログインページで、接続文字列とログインしたユーザーロールをセッション変数に入れました。セッションの有効期限が切れていないかどうかを確認するために、他のページのpage_loadイベントに次のコード行を追加しました。

protected void Page_Load(object sender, EventArgs e)
{
   if (Session["userRole"])==null
      Response.Redirect("Login.aspx");

   .........
}

しかしSession[conString] is expired、Webアプリケーションがしばらくアイドル状態になると、エラーが発生することがあります。ここで、セッション変数ごとに有効期限が異なるのではないかと思います。そうでない場合は、セッションの有効期限が切れたことをアプリケーションが検出したときに、ログインページにリダイレクトされるべきではありませんか?

4

1 に答える 1

3

アプリケーションのアイドルタイムアウトがセッションタイムアウトよりも短い可能性があります。これは、セッションの有効期限が切れる前に指定した時間より前にアプリがアイドル状態の場合、Webサーバーがアプリを強制終了することを意味します。

いいえ、セッション変数は期限切れになりません。セッションは(指定されたタイムアウト後に)実行されます。

于 2013-02-18T08:32:33.637 に答える