如何检索虚拟目录的物理路径

kni*_*rge 5 c# iis wcf

我在IIS 7中部署了一个wcf Web服务.当发生错误时,我需要记录导致错误的消息.需要在网络共享上创建日志,开发人员可以访问共享(因为我们无法访问部署服务的服务器).在IIS中创建了虚拟目录,其物理路径位于网络共享上.

如何获取虚拟目录的物理路径?我试过用

System.Web.Hosting.HostingEnvironment.MapPath(virtualDirectoryPath)
Run Code Online (Sandbox Code Playgroud)

但这只返回服务所在服务器上的物理路径.

例如,如果虚拟目录是"WSLogs"并且我将virtualDirectoryPath指定为"〜/ WSLogs",我将返回C:\ inetpub\wwwroot\myServiceDirectory\WSLogs \

kni*_*rge 11

虚拟目录是在与Web服务相同的级别(在"默认网站"节点下)创建的.将虚拟目录移动到Web服务节点本身后,我可以使用以下方法获取虚拟目录的物理路径:

System.Web.Hosting.HostingEnvironment.MapPath(virtualDirectoryPath)
Run Code Online (Sandbox Code Playgroud)

其中virtualDirectoryPath是〜/ WSLogs