我在IIS中创建了一个名为VirtualDir
的虚拟目录。它指向UNC路径\\fileserver\folder1\folder2\
我有一个桌面应用程序(HttpContext.Current
不可用);我想从虚拟目录名称中检索UNC路径。
我知道如果我在网络环境中,我可以致电ServerApplication.MapPath("/VirtualDir/")
。我已经在网络应用程序中进行了测试,但是这有效,但它对我没有帮助。
我尝试了HostingEnvironment.MaptPath("/VirtualDir/")
,但返回null。
如果给定虚拟目录的名称(并假设它位于默认网站下),如何从桌面应用程序检索IIS虚拟目录的物理位置。
答案 0 :(得分:2)
使用ServerManager
中的Microsoft.Web.Administration(需要管理员权限)。例如
var server = new ServerManager();
var path = server.Sites["Site Name"]
.Applications["Application Name"]
.VirtualDirectories["Directory"]
.PhysicalPath;