在什么情况下HttpContext.Current.Session可以为null?
我有一些asp.net页面.
我只是想知道为什么我应该一直检查对象的Session对象?
例如
public static object GetSession(string key) { if (HttpContext.Current.Session != null) { return HttpContext.Current.Session[key]; } return null; }
解决方法
看看这个页面:
What should I do if the current ASP.NET session is null?.它对可能性有了很好的解释.
编辑
如果Session对象可用并且您想要从中访问值,那么您很少会遇到这样的情况.在大多数情况下,包括其他答案提到的那些,HttpContext.Current.Session [key]将为null,但不是HttpContext.Current.Session本身.
在大多数日常编码场景中,Session对象不会为null,并且您的问题中的代码将是过度的.同样,如果您提前知道Session对象为null,则您甚至不应尝试访问它.
如果您的应用程序在异常情况下访问Session对象时可能会或可能不为null,那么您的代码将是处理它的好方法,例如上面引用的问题中描述的那些.