0
フォーム認証を使用し、セッションをカスタムテーブルに格納するようにasp.NET Webアプリケーションを構成しました。これまでのところ、私がログインすると、認証はブラウザセッション全体にわたって持続します。私はセッションを保存する可能性を把握しようとしていますが、早い時期に問題に立ち向かいます。ASP.NET SqlServerセッション状態
変数と値のペアをセッションオブジェクトに追加してセッション変数をページに出力すると、変数と値のペアが期待通りに表示されますが、ブラウザを閉じて再度開くと、私はsessionidを出力することでそれを確認しますが、変数と値のペアはなくなりました)。
非常にシンプルなものがありますが、ここではセッション変数がブラウザセッション(文字列はシリアライズ可能なのですか?
List<SessionVar> sessionVars = new List<SessionVar>();
protected void Page_Load(object sender, EventArgs e)
{
Session[Session.SessionID] = Session.SessionID;
LoadSessionData();
}
protected void btnSessionVariable_Click(object sender, EventArgs e)
{
Session[txtVariableName.Text.Trim()] = txtVariableValue.Text.Trim();
txtVariableName.Text = string.Empty;
txtVariableValue.Text = string.Empty;
LoadSessionData();
}
private void LoadSessionData()
{
sessionVars.Clear();
foreach (string key in Session.Keys)
{
sessionVars.Add(new SessionVar(key, (string)Session[key]));
}
gridView.DataSource = sessionVars;
gridView.DataBind();
}