简体   繁体   中英

How to retrieve physical path for virtual directory

I have a wcf web service deployed in IIS 7. When an error occurs I need to log the message that caused the error. The log needs to be created on a network share where developers have access to the share (as we do not have access to the server where the service is deployed). A virtual directory was created in IIS whose physical path is on the network share.

How can I get the physical path of the virtual directory? I have tried using

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

but this just returns the physical path on the server where the service is located.

For example, if the virtual directory is "WSLogs" and I give the virtualDirectoryPath as "~/WSLogs" I will get back C:\\inetpub\\wwwroot\\myServiceDirectory\\WSLogs\\

The virtual directory was created at the same level (under Default Web Site node) as the web service. After moving the virtual directory to be located under the web service node itself, I was able to get the physical path for the virtual directory using:

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

where the virtualDirectoryPath is ~/WSLogs

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM