(पूर्णता के लिए अद्यतित)
आप किसी भी पेज से सत्र चर का उपयोग कर सकते हैं या Session["loginId"]
किसी वर्ग से (जैसे कक्षा पुस्तकालय के अंदर से) का उपयोग करके नियंत्रण कर सकते हैं ,System.Web.HttpContext.Current.Session["loginId"].
लेकिन मेरे मूल उत्तर के लिए कृपया पर पढ़ें ...
मैं हमेशा ASP.NET सत्र के आसपास एक आवरण वर्ग का उपयोग सत्र चर तक पहुंच को आसान बनाने के लिए करता हूं:
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; }
}
यह वर्ग ASP.NET सत्र में स्वयं का एक उदाहरण संग्रहीत करता है और आपको अपने सत्र गुणों को किसी भी वर्ग से टाइप-सुरक्षित तरीके से एक्सेस करने की अनुमति देता है, जैसे:
int loginId = MySession.Current.LoginId;
string property1 = MySession.Current.Property1;
MySession.Current.Property1 = newValue;
DateTime myDate = MySession.Current.MyDate;
MySession.Current.MyDate = DateTime.Now;
इस दृष्टिकोण के कई फायदे हैं:
- यह आपको कई प्रकार के कास्टिंग से बचाता है
- आपको अपने आवेदन के दौरान हार्ड-कोडेड सत्र कुंजियों का उपयोग करने की आवश्यकता नहीं है (उदाहरण सत्र ["loginId")
- आप MySession के गुणों पर XML doc टिप्पणियों को जोड़कर अपने सत्र आइटमों को दस्तावेज़ित कर सकते हैं
- आप अपने सत्र चर को डिफ़ॉल्ट मानों के साथ आरंभ कर सकते हैं (उदाहरण के लिए आश्वस्त करना कि वे अशक्त नहीं हैं)