未将对象引用设置到对象的实例,怎么解决呢?

viphk 2011-04-18 11:30:02
堆栈跟综:System.NullReferenceException: 未将对象引用设置到对象的实例。

我在Global.asax文件的Application_Start中添加了一个Timer事件,在事件中读取XML文档总是出错,未将对象引用设置到对象的实例。但是我把代码复制到WEB页面上运行却是可以的,让Timer事件定时执行就是读取不到总是出错,请高手指点哪里有问题?

public static string WebSiteXml(string XmlPath, string XmlName)
{
string path = HttpContext.Current.Server.MapPath(XmlPath);
XmlDocument xml = new XmlDocument();
xml.Load(path);
XmlNode node = xml.SelectSingleNode(XmlName);
return node.InnerText;
}

调用:
   bool AAA = Convert.ToBoolean(BbsyxConfig.WebSiteXml("/Inc/ABC.xml", "/xmlhtml/AAA"));
...全文
992 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
viphk 2011-04-18
  • 打赏
  • 举报
回复
路径不可能有问题吧,文件是存在的,我把代码复制到WEB页面去执行是可以取到值的
  • 打赏
  • 举报
回复
路径的问题
Simple-395 2011-04-18
  • 打赏
  • 举报
回复
打个断点,跟踪下呗。。。
xingshungames 2011-04-18
  • 打赏
  • 举报
回复
未将对象引用设置到对象的实例 这种错误

大多都跟null值相关
gengchenhui 2011-04-18
  • 打赏
  • 举报
回复
那就是说明没有这东西,那你就在返回的时候判断一下。。。
孟子E章 2011-04-18
  • 打赏
  • 举报
回复
Application_Start
事件里面,有些对象是不能使用的。
参见
http://dotnet.aspx.cc/file/Getting-Website-absolute-path-in-asp.net.aspx

wangting0613 2011-04-18
  • 打赏
  • 举报
回复
有null值,,,
笨熊熊 2011-04-18
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 net_lover 的回复:]
XmlNode node = xml.SelectSingleNode(XmlName);
if(node == null) return "false";
return node.InnerText;
[/Quote]
yzf86211861 2011-04-18
  • 打赏
  • 举报
回复
路径 设置的 不正确.
孟子E章 2011-04-18
  • 打赏
  • 举报
回复
XmlNode node = xml.SelectSingleNode(XmlName);
if(node == null) return "false";
return node.InnerText;
Watingalone 2011-04-18
  • 打赏
  • 举报
回复
[Quote=引用 23 楼 viphk 的回复:]

问题解决了,要使用这个才对:
HostingEnvironment.MapPath()
不是
HttpContext.Current.Server.MapPath()
[/Quote]

谢谢楼主,以后我也可以避免这样的问题了。
viphk 2011-04-18
  • 打赏
  • 举报
回复
问题解决了,要使用这个才对:
HostingEnvironment.MapPath()
不是
HttpContext.Current.Server.MapPath()
viphk 2011-04-18
  • 打赏
  • 举报
回复
HttpContext.Current.Server.MapPath();
这个不能用,那用什么替代?我也感觉是这个有问题
meceky 2011-04-18
  • 打赏
  • 举报
回复
看看路径可能不对,没有找到文件
mimangshamo 2011-04-18
  • 打赏
  • 举报
回复
HttpContext.Current.Server.MapPath(XmlPath);
HttpContext.Current.Server这个不能用,要不就是你路径不对
gengchenhui 2011-04-18
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 viphk 的回复:]

但是这个文件与内容是明明存在的
引用 6 楼 gengchenhui 的回复:

那就是说明没有这东西,那你就在返回的时候判断一下。。。
[/Quote]
那你调试一下看看路径是不是对的。。。
hlliu625 2011-04-18
  • 打赏
  • 举报
回复
调试一下 看看有没有NULL值 这种错误多半是应为调用的时候 出现了null值
qq346127416 2011-04-18
  • 打赏
  • 举报
回复
调试看看哪里是null
这种错误 80%以上都是 有对象是null 或没有初始化对象 就调用了对象里的方法
viphk 2011-04-18
  • 打赏
  • 举报
回复
晕死,楼上的什么东西
viphk 2011-04-18
  • 打赏
  • 举报
回复
不知道是什么原因,我手动去执行这个方法是对的,放在Timer事件中让程序自动定时去执行却出错了,
加载更多回复(3)

62,046

社区成员

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

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

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

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