我正在使用Request.ApplicationPath来了解我正在运行的虚拟目录的名称。有更可靠的方式吗?
答案 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;
}