无法使用Server.MapPath访问外部文件

时间:2013-06-06 13:57:42

标签: c# asp.net path filepath

我有一个xml文件,它位于解决方案的文件夹中。我尝试使用Server.MapPath访问它。它在一个不同项目的aspx页面中运行良好。当我尝试访问我的类库项目中的文件时,我不应该使用Server.MapPath。所以我尝试了HttpContext.Current.Server.MapPath。问题是这个类库项目是从一个单独的WCF服务项目调用的,所以当前服务器是WCF服务项目的服务器。所以最终错误路径无效。

这就是我尝试过的 - HttpContext.Current.Server.MapPath("./folder/conf.xml.config")

任何解决方案?

System.Web已导入。

2 个答案:

答案 0 :(得分:0)

Server.MapPath仅适用于网站内的文件,并通过指定相对位置来使用:

string configFile = Server.MapPath("~/App_Data/config.xml.config");

如果要从其他位置访问文件,则必须手动提供其绝对路径:

string configFile = @"c:\work\some_folder\config.xml.config";

答案 1 :(得分:0)

您可以在 中创建 。此 将指向“folder / conf.xml.config”的物理位置

完成此操作后,您可以使用以下现有代码访问它...

Server.MapPath("folder/conf.xml.config")