私は常にユーザーのデータを(ユーザーがログインした後)Session変数に保存しているので、そのデータを任意のページで使用できます。
情報をグローバルに保存する別の方法は、情報をクラスに保存し、を使用し{ get; set;}
て、任意のページから呼び出すことであることがわかりました。
今、私はこれらの両方の方法をテストとして使用しましたが、どちらも非常にうまく機能します。
Session["LoginId"] = rdr["uniqueIdentifier"].ToString();
と
Member.LoginId = rdr["uniqueIdentifier"].ToString();
ここで(Member.cs内)
public class Member
{
public static int Challenges { get; set; }
public static int NicknameId { get; set; }
public static string LoginId { get; set; }
public static string FriendsListId { get; set; }
public static void ClearVariables()
{
Challenges = 0;
NicknameId = 0;
LoginId = null;
FriendsListId = null;
}
}
Global.asax
void Session_End(object sender, EventArgs e)
{
Member.ClearVariables();
}
私の質問は、ユーザーデータをこのようなクラスに保存するのに十分安全ですか、それともSession
オブジェクトに固執する必要がありますか?
完全を期すために更新 この投稿は上記のようなことをしますが、複数のユーザーを対象としていますか? ASP.NETの任意のクラスからセッション変数にアクセスするにはどうすればよいですか?