Trong ứng dụng web của tôi, tôi làm điều gì đó như sau để đọc các biến phiên:
if (HttpContext.Current.Session != null && HttpContext.Current.Session["MyVariable"] != null)
{
string myVariable= (string)HttpContext.Current.Session["MyVariable"];
}
Tôi hiểu tại sao điều quan trọng là phải kiểm tra tại sao HttpContext.Current.Session ["MyVariable"] là null (biến có thể chưa được lưu trữ trong Phiên hoặc Phiên đã được đặt lại vì nhiều lý do khác nhau), nhưng tại sao tôi cần kiểm tra nếu HttpContext.Current.Session
là null?
Sự hiểu biết của tôi là phiên được tạo tự động bởi ASP.NET do đó HttpContext.Current.Session không bao giờ được để trống. Giả thiết này có đúng không? Nếu nó có thể là null, có nghĩa là tôi cũng nên kiểm tra nó trước khi lưu trữ thứ gì đó trong đó:
if (HttpContext.Current.Session != null)
{
HttpContext.Current.Session["MyVariable"]="Test";
}
else
{
// What should be done in this case (if session is null)?
// Is it possible to force the session to be created if it doesn't exist?
}