私の asp.net MVC プロジェクトには、セッション値の設定と取得に使用するセッション ヘルパー クラスがあります。これはクラスです:
public class SessionManager
{
public static string UserName
{
get
{
return HttpContext.Current.Session[SessConstants.UName] ;
}
set
{
HttpContext.Current.Session[SessConstants.UName] = value;
}
}
}
ご覧のとおり、プロパティは静的です。以下のようにコードでこれを使用します。
//For setting values
SessionManager.UserName = "";
//For retrieving values
strLoggedinUser = SessionManager.UserName;
質問:
- これらのような静的プロパティは、 HttpContext.Current.Session['someVar'] に設定してもスレッドセーフですか?
- 代わりにインスタンス プロパティを作成し、MVC コントローラー クラスから継承したベース コントローラーで SessionManager をインスタンス化する必要があります。その後、すべてのコントローラーに、MVC コントローラーの代わりにカスタム コントローラーを継承させることができます。
考え?
御時間ありがとうございます...