c# を使用して asp.net のセッション値にイベント ハンドラーを追加できますか? ユーザーのログイン時とログアウト時にデータベースを更新する予定で、セッション値でログインとログアウトを制御していますが、タイムアウトなど、ユーザーのクリックなしでセッションが終了する可能性があるため、" isloggedin" セッション値。
質問する
1479 次
2 に答える
2
これは global.asax で処理する必要があります。
protected void Session_Start(Object sender, EventArgs e)
{
//your code
}
protected void Session_End(Object sender, EventArgs e)
{
//your code
}
于 2012-06-14T19:44:29.637 に答える
1
Session_End
このメソッドは、global.asax に実装できます。そこで、セッションから必要な情報を取得し、必要なことを行います (ユーザーのデータベースにログアウト フラグを設定するなど)。
これは私が行うことの例ですが、ニーズに合わせて調整できます。
void Session_End(object sender, EventArgs e)
{
SessionPlayerContext context = (SessionPlayerContext)this.Session[Constants.SessionKeys.UserContext];
if (context != null)
PlayerManager.SetPlayerOnlineStatus(context.PlayerID, false);
}
重要なのは、(ユーザーがログインしたときに) 以前にセッションに保存したユーザー オブジェクトを取得していることです。それが存在する場合は、(PlayerManager を介して) データベースでログアウトされていることを示すフラグをユーザーに付けます。
で確認するだけでなく、Session_End
ユーザーが物理的にログアウトする場所でも確認する必要があります。
ユーザーをログイン済みとして設定する場合は、ユーザーが物理的にログインしたときにそれを処理します。
于 2012-06-14T19:46:20.543 に答える