从桌面应用程序

时间:2016-10-18 17:50:59

标签: c# .net iis iis-8

我在IIS中创建了一个名为VirtualDir的虚拟目录。它指向UNC路径\\fileserver\folder1\folder2\

我有一个桌面应用程序(HttpContext.Current不可用);我想从虚拟目录名称中检索UNC路径。

我知道如果我在网络环境中,我可以致电ServerApplication.MapPath("/VirtualDir/")。我已经在网络应用程序中进行了测试,但是这有效,但它对我没有帮助。

我尝试了HostingEnvironment.MaptPath("/VirtualDir/"),但返回null。

如果给定虚拟目录的名称(并假设它位于默认网站下),如何从桌面应用程序检索IIS虚拟目录的物理位置。

1 个答案:

答案 0 :(得分:2)

使用ServerManager中的Microsoft.Web.Administration(需要管理员权限)。例如

var server = new ServerManager();
var path = server.Sites["Site Name"]
    .Applications["Application Name"]
    .VirtualDirectories["Directory"]
    .PhysicalPath;