如何获取虚拟目录的物理路径

7
我有一个部署在IIS 7上的WCF Web服务。当出现错误时,我需要记录导致错误的消息。该日志需要创建在网络共享文件夹上,开发人员可以访问该共享文件夹(因为我们无法访问部署服务的服务器)。在IIS中创建了一个虚拟目录,其物理路径位于网络共享上。
如何获取虚拟目录的物理路径?我尝试过使用
System.Web.Hosting.HostingEnvironment.MapPath(virtualDirectoryPath)

但这仅返回服务所在服务器上的物理路径。
例如,如果虚拟目录是“WSLogs”,并且我将virtualDirectoryPath设置为“〜/WSLogs”,则会返回C:\ inetpub \ wwwroot \ myServiceDirectory \ WSLogs \。

只是为了确保我理解正确,您想获取虚拟目录的网络路径而不是服务器上的物理路径? - Brian Dishaw
在IIS中,虚拟目录的物理路径设置为网络上的物理路径(共享文件夹)。我想获取该共享文件夹的路径。 - knightscharge
1个回答

13
虚拟目录是在与 Web 服务相同的级别(Default Web Site节点下)创建的。将虚拟目录移动到位于 Web 服务节点本身下方后,我可以使用以下代码获取虚拟目录的物理路径:
System.Web.Hosting.HostingEnvironment.MapPath(virtualDirectoryPath)

其中virtualDirectoryPath为~/WSLogs。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接