HttpContext.Current.Session[strName]未将对象引用设置到对象的实例

dq9005 2013-04-26 04:39:33
       public static string GetSession(string strName)
{
if (HttpContext.Current.Session[strName] != null)
return HttpContext.Current.Session[strName].ToString();
return "";
}

这个有错吗?怎么会出现
异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。

if (HttpContext.Current.Session[strName] != null)这里错
...全文
633 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
dq9005 2013-04-26
  • 打赏
  • 举报
回复
       public static string GetSession(string strName)
        {
            if (HttpContext.Current.Session != null && HttpContext.Current.Session[strName] != null)
                return HttpContext.Current.Session[strName].ToString();
            return "";
        }
解决了要先判断 HttpContext.Current.Session != null
Wudaode 2013-04-26
  • 打赏
  • 举报
回复
另外,如果是一般处理程序,楼上的几个方法都得加上去!
Wudaode 2013-04-26
  • 打赏
  • 举报
回复
异常不是HttpContext.Current.Session[strName] != null后面的“!=”操作符报错,而是 HttpContext是null 或HttpContext.Current是null 这样判断
public static string GetSession(string strName)
        {
            if (HttpContext!=null && HttpContext.Current!=null && HttpContext.Current.Session[strName] != null)
                return HttpContext.Current.Session[strName].ToString();
            return "";
        }
试试!
gxingmin 2013-04-26
  • 打赏
  • 举报
回复
引用 6 楼 Mockqi 的回复:
要是在一般处理程序,就要实现这个接口: IRequiresSessionState public class ProjectInfo: IHttpHandler, IRequiresSessionState
嗯,ajax后台需要实现这个接口, webservice需要开启WebService会话状态 [WebMethod(EnableSession= true)]
  • 打赏
  • 举报
回复
要是在一般处理程序,就要实现这个接口: IRequiresSessionState public class ProjectInfo: IHttpHandler, IRequiresSessionState
熊猫无敌 2013-04-26
  • 打赏
  • 举报
回复
上面的回复不对,看看你这个代码是不是放在构造函数或者其它什么不符合的地方了
熊猫无敌 2013-04-26
  • 打赏
  • 举报
回复
把static去掉试试
gxingmin 2013-04-26
  • 打赏
  • 举报
回复
你这代码在哪儿啊,也不说清楚 是ajax后台,还是webservice里?还是在页面基类里?
md5e 2013-04-26
  • 打赏
  • 举报
回复
看你这句在哪里写了 GetSession("")
  • 打赏
  • 举报
回复
Seesion里面有strName这个值否?

62,072

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧