获取IIS应用程序文件系统路径

时间:2011-06-13 19:06:48

标签: c# asp.net .net iis iis-7

我安装了IIS 7.0,并且有一个带有.svc服务的.net应用程序。

我想在应用程序指向的虚拟目录中指出一个文件(请注意我在应用程序中转换了我的虚拟目录)。

但是,当我尝试打开一个文件时,在.net-verse中使用一般的api调用,并且不指定根(完整)路径而是相对路径,当找不到资源时,我最终会出错

如何获取应用的物理路径?

请注意,这是一个Web应用程序。它无法使用Request对象,因为它需要通过我的应用程序托管的Web服务进行此调用。

2 个答案:

答案 0 :(得分:31)

尝试这可能有助于解决您的问题

string apPath = System.Web.Hosting.HostingEnvironment.ApplicationPhysicalPath;

string apPath = System.Web.Hosting.HostingEnvironment.MapPath("~/folder/file");

答案 1 :(得分:3)

如果您使用的是控制台应用程序项目模板或Web应用程序以外的任何其他模板,则必须添加对System.Web的引用。

然后,您将能够引用System.Web.Hosting命名空间。

希望这有帮助!