2011-06-13 143 views
15

我在IIS中安装了IIS 7.0。 我在那里有一个.svc服务的.net应用程序。获取IIS应用程序文件系统路径

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

但是,当我尝试打开一个文件时,使用.net-verse中的常规api调用,并且不指定根(完整)路径但是相对的,当资源不是找到。

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

请注意,我正在谈论一个Web应用程序。但我无法使用Request对象,因为我需要从我的应用程序托管的Web服务进行此调用。

三江源

+0

检查此http://msdn.microsoft.com/en-us/library/system.web.hosting.aspx – 2011-06-14 04:27:50

回答

30

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

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

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

我找不到这些命名空间.... – Andry 2011-06-13 19:48:54

+0

我不能添加引用这些奇怪的命名空间:系统。 Web.Hosting ...即使我传递给asp.net 4非客户端模式... – Andry 2011-06-13 19:52:58

+1

@Andry - 检查此http://msdn.microsoft.com/en-us/library/system.web.hosting.aspx – 2011-06-14 04:27:15

3

如果你使用一个控制台应用程序项目模板或比Web应用程序之外的任何其他模板那么你必须添加一个对System.Web的引用。

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

希望这会有所帮助!

相关问题