ASP.NET 4.0(C#)アプリケーションを実行しています。複数の人が働いているとき、セッションは理想的でなくなりますが、単身者が働くときは15〜20分の理想を過ぎても失効することはありません。ASP.net C#:1人のユーザーのセッションの有効期限が切れた/フラッシュされたときにすべてのユーザーセッションが終了します。
最悪の場合、誰かがログアウトしています(セッションが期限切れになるため)、システムを使用しているすべてのユーザーがログアウトします。
私は、アプリケーションプールのプロパティ/性能が60分に次の
set in web.config
Set session timeout to 60 minutes in IIS manager/Web site
プロパティ/ ASP.NET構成の設定 設定されたアイドルタイムアウトを行っています。
<sessionState mode="InProc" cookieless="false" timeout="60" />
私のコード 、ページのセッションPage_PreInitの
Session["UserId"] = Convert.ToString(dt.Rows[0]["UserId"]);
チェック値
if (Session["UserId"] == null)
{
Response.Redirect("~/Index.aspx");
}
ページ上のセッションの値を取得Requered
ログイン時にセッションに設定値
string UserId = Convert.ToString(Session["UserId"]);
複数の人物がログインし、Page_PreInitイベントで作業している場合、セッション["UserId"]はNullになり、コードごとにログインページにリダイレクトされます。しかし、一人の人がセッションや作業をしても決してNullにならない場合、15分後でも理想的です。 何が間違っていたのか分かりませんか?
セッション作成時にフルコードを入力 –
デニッシュ、フルコードのようなものはありません。上記の設定でWeb設定をしたサンプルアプリケーションを作成しました。そして私はログイン時にSession UserIdに値を書いています。あなたは "1"と仮定してページPage_PreInitをチェックすることができますので、SessionはNullかどうかをチェックし、上記のコードではセッションの値を取得するだけでログを取得します。 –