首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

SESSION值过期报错该如何解决?

2014-01-28 
SESSION值过期报错该如何解决?/Index应用程序中的服务器错误。 ----------------------------------------

SESSION值过期报错该如何解决?

'/Index'应用程序中的服务器错误。
--------------------------------------------------------------------------------

未将对象引用设置到对象的实例。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。

源错误:


行 36: if(!Page.IsPostBack)
行 37: {
行 38: if((Session[ "User_Name "]!=null)||(Session[ "User_Name "].ToString()!= " "))
行 39: {
行 40: try


源文件: C:\Inetpub\wwwroot\Index\Controls\AdminControl.ascx.cs 行: 38

堆栈跟踪:


[NullReferenceException: 未将对象引用设置到对象的实例。]
Index.Controls.AdminControl.Page_Load(Object sender, EventArgs e) in C:\Inetpub\wwwroot\Index\Controls\AdminControl.ascx.cs:38
System.Web.UI.Control.OnLoad(EventArgs e) +67
System.Web.UI.Control.LoadRecursive() +35
System.Web.UI.Control.LoadRecursive() +98
System.Web.UI.Control.LoadRecursive() +98
System.Web.UI.Page.ProcessRequestMain() +731




--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:1.1.4322.573; ASP.NET 版本:1.1.4322.573

------解决方法--------------------------------------------------------
try..

if((Session[ "User_Name "]!=null) && (Session[ "User_Name "].ToString()!= " "))

------解决方法--------------------------------------------------------
((Session[ "User_Name "]!=null)||(Session[ "User_Name "].ToString()!= " ")
分析一下
session 不为空时
没问题
session 过期后
Session[ "User_Name "]!=null 不符合
又因为是 ||,所以就运行到后面去,Session[ "User_Name "].ToString() 必报错
解决办法是:
改为
if((Session[ "User_Name "]!=null)&&(Session[ "User_Name "].ToString()!= " "))
再分析一下
session 不为空时 运行到后面不报错
session 过期后
Session[ "User_Name "]!=null 不符合 马上否定 后面语句不会运行 不报错

结论就是,改:
if((Session[ "User_Name "]!=null)&&(Session[ "User_Name "].ToString()!= " "))         

热点排行