获取虚拟目录的名称?

时间:2010-01-30 18:43:09

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

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

3 个答案:

答案 0 :(得分:19)

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

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

答案 1 :(得分:2)

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

编辑以继续评论。

由于您需要一种“更清洁”的方式来处理斜杠,我建议创建一个实用程序函数,该函数返回应用程序路径及其中的逻辑,以便在您认为合适的情况下处理斜杠。

答案 2 :(得分:1)

C#

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