7

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

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

System.Web.Hosting.HostingEnvironment.MapPath(virtualDirectoryPath)

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

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

4

1 回答 1

13

虚拟目录是在与 Web 服务相同的级别(在 Default Web Site 节点下)创建的。将虚拟目录移动到 Web 服务节点本身下后,我能够使用以下命令获取虚拟目录的物理路径:

System.Web.Hosting.HostingEnvironment.MapPath(virtualDirectoryPath)

virtualDirectoryPath 是 ~/WSLogs

于 2013-09-04T12:21:39.430 回答