ユーザーログイン時にユーザー設定を取得し、シングルトンセッションに保存しています。以下のコードです。
アプリケーション全体ではなく、ユーザーごとです。以前は静的オブジェクトをセッションに保存していましたが、すべてのユーザーで共有されていましたが、シングルトン セッションを作成しました。
以下のコードはスレッドセーフですか。
public string FirstName
{
get;
set;
}
public string LastName
{
get;
set;
}
public static Users Currentuser
{
get
{
HttpSessionState session = HttpContext.Current.Session;
lock (padlock)
{
if (session["UserInfo"] == null)
{
session["UserInfo"] = new Users();
}
}
return (Users)session["UserInfo"];
}
}
リクエストごとに新しいセッションを作成し、そこから値を取得しています。