ASP.NET获取网站路径的最佳方法 

网站在服务器磁盘上的物理路径: HttpRuntime.AppDomainAppPath
虚拟程序路径: HttpRuntime.AppDomainAppVirtualPath

 

任何于Request/HttpContext.Current等相关的方法, 都只能在有请求上下文或者页面时使用. 即在无请求上下文时,HttpContext.Current为null.  而上面提到的方法一直可用.

对于全局Cache对象的访问亦然.

 

 

==================================================================================

示例:输出asp.net 网站路径。

private   void  responseHtml()
    
... {
        System.Text.StringBuilder sb 
= new System.Text.StringBuilder();
        sb.Append(
string.Format("当前时间: {0}", Server.HtmlEncode(DateTime.Now.ToString())));
        sb.Append(
"<br />");
        sb.Append(
string.Format("当前请求的虚拟路径: {0}",Server.HtmlEncode(Request.CurrentExecutionFilePath)));
        sb.Append(
"<br />");
        sb.Append(
string.Format("获取当前应用程序的根目录路径: {0}", Server.HtmlEncode(Request.ApplicationPath)));
        sb.Append(
"<br />");
        sb.Append(
string.Format("当前请求的虚拟路径: {0}",Server.HtmlEncode(Request.FilePath)));
        sb.Append(
"<br />");
        sb.Append(
string.Format("当前请求的虚拟路径: {0}",Server.HtmlEncode(Request.Path)));
        sb.Append(
"<br />");
        sb.Append(
string.Format("获取当前正在执行的应用程序的根目录的物理文件系统路径: {0}", Server.HtmlEncode(Request.PhysicalApplicationPath)));
        sb.Append(
"<br />");
        sb.Append(
string.Format("获取与请求的 URL 相对应的物理文件系统路径: {0}", Server.HtmlEncode(Request.PhysicalApplicationPath)));
        sb.Append(
"<br />");
        Response.Write(sb.ToString());
    }

}

 
输出:当前时间: 2007-08-30 11:03:49
当前请求的虚拟路径: /aDirectory/Sample/responseHtml.aspx
获取当前应用程序的根目录路径: /aDirectory
当前请求的虚拟路径: /aDirectory/Sample/responseHtml.aspx
当前请求的虚拟路径: /aDirectory/Sample/responseHtml.aspx
获取当前正在执行的应用程序的根目录的物理文件系统路径: E:/Visual Studio 2005/
获取与请求的 URL 相对应的物理文件系统路径: E:/Visual Studio 2005//aDirectory/

 

你可能感兴趣的:(ASP.NET获取网站路径的最佳方法 )