【问题标题】:Get name of virtual directory?获取虚拟目录的名称?
【发布时间】:2011-01-11 06:09:20
【问题描述】:

我正在使用 Request.ApplicationPath 来了解我正在运行的虚拟目录的名称。有没有更靠谱的方法?

【问题讨论】:

  • 是什么让Request.ApplicationPath 不可靠?
  • 我不应该使用“可靠”这个词。 “更清洁”会是一个更好的方式。我想要给我虚拟目录的名称(或别名)的东西,而不用在开头加上斜线。小资,我知道,但我不介意问这些事情。我很抱歉我的措辞不佳。
  • 创建一个实用函数来提供你想要的。当然,使用 Request.ApplicationPath 开始。

标签: c# asp.net iis path virtual-directory


【解决方案1】:

C#中使用这个函数:

public static String GetHost()
{
    var request = HttpContext.Current.Request;
    return request.Url.Scheme + "://" + request.ServerVariables["HTTP_HOST"] + request.ApplicationPath;
}

【讨论】:

    【解决方案2】:

    您需要使用 Request.ApplicationPath。这就是它的设计目的。

    根据您的评论进行编辑。

    由于您想要一种“更简洁”的方式来处理斜线,我建议创建一个实用程序函数,该函数返回应用程序路径,其中包含您认为合适的处理斜线的逻辑。

    【讨论】:

      【解决方案3】:

      Request.ApplicationPath 是获取虚拟目录的完全可靠方式,并且在您拥有 HttpContext 并且可以请求请求数据时始终有效。

      要进一步处理和提取部分路径,请查看VirtualPathUtility 类。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-11-28
        • 1970-01-01
        • 1970-01-01
        • 2013-10-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多