【问题标题】:Get physical path of virtual directory from desktop application从桌面应用程序获取虚拟目录的物理路径
【发布时间】:2016-10-18 17:50:58
【问题描述】:

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

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

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

我试过 HostingEnvironment.MaptPath("/VirtualDir/") 但返回 null。

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

【问题讨论】:

  • 如果它是一个桌面应用程序,那么它与 IIS 完全分离,为什么你需要来自 IIS 的路径并且你不能将它作为某些网络调用的一部分提供?
  • @Lloyd 我得到的只是 VDir 的名称 - 环境之间的物理路径会发生变化,所以如果可能的话,我想即时弄清楚。

标签: c# .net iis iis-8


【解决方案1】:

使用来自Microsoft.Web.AdministrationServerManager(需要管理员权限)。例如

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多