从桌面应用程序中获取虚拟目录的物理路径
本文关键字:路径 虚拟 桌面 应用程序 获取 | 更新日期: 2023-09-27 18:13:30
我在IIS中创建了一个名为VirtualDir
的虚拟目录。它指向UNC路径''fileserver'folder1'folder2'
我有一个桌面应用程序(HttpContext.Current
不可用)我想从虚拟目录名称中检索UNC路径。
我知道,如果我是在一个web上下文中,我可以调用ServerApplication.MapPath("/VirtualDir/")
。我已经在一个web应用程序中进行了测试,这是有效的,但它没有帮助我。
我试过HostingEnvironment.MaptPath("/VirtualDir/")
,但返回null。
如何从桌面应用程序中检索IIS虚拟目录的物理位置,给定虚拟目录的名称(并假设它在默认网站下)
使用Microsoft.Web.Administration的ServerManager
(需要管理员权限)。例如
var server = new ServerManager();
var path = server.Sites["Site Name"]
.Applications["Application Name"]
.VirtualDirectories["Directory"]
.PhysicalPath;