(aktualisiert auf Vollständigkeit)
Sie Session-Variablen von einer beliebigen Seite oder Steuerung zugreifen können Session["loginId"]
und aus jeder Klasse (z.B. aus dem Inneren einer Klassenbibliothek), mit System.Web.HttpContext.Current.Session["loginId"].
Aber bitte auf meine ursprüngliche Antwort lesen ...
ich immer eine Wrapper-Klasse um die Sitzung ASP.NET verwenden, um Zugriff auf Session-Variablen zu vereinfachen:
public class MySession
{
// private constructor
private MySession()
{
Property1 = "default value";
}
// Gets the current session.
public static MySession Current
{
get
{
MySession session =
(MySession)HttpContext.Current.Session["__MySession__"];
if (session == null)
{
session = new MySession();
HttpContext.Current.Session["__MySession__"] = session;
}
return session;
}
}
// **** add your session properties here, e.g like this:
public string Property1 { get; set; }
public DateTime MyDate { get; set; }
public int LoginId { get; set; }
}
diese Klasse speichert eine Instanz von sich selbst in der ASP.NET-Sitzung und ermöglicht es Ihnen, Ihre Sitzungseigenschaften in einem typsicher aus jeder Klasse Art und Weise zuzugreifen, zum Beispiel wie folgt aus:
int loginId = MySession.Current.LoginId;
string property1 = MySession.Current.Property1;
MySession.Current.Property1 = newValue;
DateTime myDate = MySession.Current.MyDate;
MySession.Current.MyDate = DateTime.Now;
Dieser Ansatz hat mehrere Vorteile:
- es erspart Ihnen viel Typ-Casting
- Sie müssen hart codierte Sitzungsschlüssel in Ihrer Anwendung nicht verwenden (z Session [ „loginId“]
- Sie Ihre Sitzung Artikel durch Hinzufügen von XML-doc-Kommentare zu den Eigenschaften von MySession
- dokumentieren können Sie Ihre Session-Variablen mit Standardwerten initialisieren können (zB versichern sie sind nicht null)
Hallo, wir müssen Code für Get und Set schreiben, oder? "public int LoginId {get; set;}" – Prashant
Ich habe es geschrieben wie: get {return Convert.ToString (HttpContext.Current.Session ["webm_login"]); } set {HttpContext.Current.Session ["webm_login"] = Wert; } – Prashant
Ist es richtig für get und set ??? – Prashant