请问在Application_Start中 HttpContext.Current为空,取路径问题

遊戲王千金 2011-03-26 04:19:40
一般加载xml路径,我们都会用
string Path =System.Web.HttpContext.Current.Server.MapPath("~/App_Data/Config.xml")
XmlDocument xd = new XmlDocument();
xd.Load(Path);
以上代码可以正常执行.
但在Application_Start,用到Current对象时(如Response,Server),会报未将对象引用设置到对象的实例。
现在只能退一步不用Current.
遇到问题是取加载路径,
用System.Web.HttpRuntime.AppDomainAppVirtualPath + "/App_Data/Config.xml"去替换,执行时间报错找不到文件。
如何解决,难道不用Server.MapPath,就读不到web项目文件?求解。。
另外若能处理Application_Start中 HttpContext.Current对象不能为空方法也行。
...全文
170 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
遊戲王千金 2011-03-26
  • 打赏
  • 举报
回复
1与2都正解.以下三种得到路径一样。

Response.Write(System.Web.HttpContext.Current.Server.MapPath("~/App_Data/Config.xml") + "<br/>");
Response.Write(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "App_Data\\Config.xml")+"<br/>");
Response.Write(System.Web.HttpRuntime.AppDomainAppPath + "App_Data\\Config.xml" + "<br/>");
Shalves 2011-03-26
  • 打赏
  • 举报
回复
程序还没有启动,当前没有Current了。
用这个

HttpRuntime.AppDomainAppPath
种草德鲁伊 2011-03-26
  • 打赏
  • 举报
回复
var path = Sytem.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "App_Data\\Config.xml");

62,073

社区成员

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

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

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

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