摘自: http://blog.sina.com.cn/s/blog_7d0dcba60100vb7r.html

网站在服务器磁盘上的物理路径: 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 2005aDirectory

  在ASP.NET编程中经常需要用Request获取url的有关信息.

  测试的url地址是http://www.test.com/testweb/default.aspx, 结果如下:

  Request.ApplicationPath: /testweb

  Request.CurrentExecutionFilePath: /testweb/default.aspx

  Request.FilePath: /testweb/default.aspx

  Request.Path: /testweb/default.aspx

  Request.PathInfo:

  Request.PhysicalApplicationPath: E:WWWtestweb

  Request.PhysicalPath: E:WWWtestwebdefault.aspx

  Request.RawUrl: /testweb/default.aspx

  Request.Url.AbsolutePath: /testweb/default.aspx

  Request.Url.AbsoluteUri: http://www.test.com/testweb/default.aspx

  Request.Url.Host: www.test.com

  Request.Url.LocalPath: /testweb/default.aspx

  当url中带参数时可以使用:

  HttpContext.Current.Request.Url.PathAndQuery.ToString()//

  本页地址: Request.URL;

  上页地址:

  Request.UrlReferrer

  Request.ServerViables["http_referer"]

  Request.RawUrl

  Request.RawUrl.QueryAndPath

  System.IO.Path.GetFileName(Request.FilePath.ToString())

  HttpRequest 类型公开了以下成员。

  构造函数

  名称 说明

  HttpRequest 基础结构。初始化 HttpRequest 对象。

  页首

  方法

  名称 说明

  BinaryRead 执行对当前输入流进行指定字节数的二进制读取。

  Equals 确定指定的 Object 是否等于当前的 Object。 (继承自 Object。)

  Finalize 允许 Object 在“垃圾回收”回收 Object 之前尝试释放资源并执行其他清理操作。 (继承自 Object。)

  GetHashCode 用作特定类型的哈希函数。 (继承自 Object。)

  GetType 获取当前实例的 Type。 (继承自 Object。)

  MapImageCoordinates 将传入图像字段窗体参数映射为适当的 x 坐标值和 y 坐标值。

  MapPath 已重载。 为当前请求将请求的 URL 中的虚拟路径映射到服务器上的物理路径。

  MemberwiseClone 创建当前 Object 的浅表副本。 (继承自 Object。)

  SaveAs 将 HTTP 请求保存到磁盘。

  ToString 返回表示当前 Object 的 String。 (继承自 Object。)

  ValidateInput 对通过 Cookies 、Form 和 QueryString 属性访问的集合进行验证。

  页首

  属性

  名称 说明

  AcceptTypes 获取客户端支持的 MIME 接受类型的字符串数组。

  AnonymousID 获取该用户的匿名标识符(如果存在)。

  ApplicationPath 获取服务器上 ASP.NET 应用程序的虚拟应用程序根路径。

  AppRelativeCurrentExecutionFilePath 获取应用程序根的虚拟路径,并通过对应用程序根使用波形符 (~) 表示法(例如,以“~/page.aspx”的形式)使该路径成为相对路径。

  Browser 获取或设置有关正在请求的客户端的浏览器功能的信息。

  ClientCertificate 获取当前请求的客户端安全证书。

  ContentEncoding 获取或设置实体主体的字符集。

  ContentLength 指定客户端发送的内容长度(以字节计)。

  ContentType 获取或设置传入请求的 MIME 内容类型。

  Cookies 获取客户端发送的 Cookie 的集合。

  CurrentExecutionFilePath 获取当前请求的虚拟路径。

  FilePath 获取当前请求的虚拟路径。

  Files 获取采用多部分 MIME 格式的由客户端上载的文件的集合。

  Filter 获取或设置在读取当前输入流时要使用的筛选器。

  Form 获取窗体变量集合。

  Headers 获取 HTTP 头集合。

  HttpMethod 获取客户端使用的 HTTP 数据传输方法(如 GET、POST 或 HEAD)。

  InputStream 获取传入的 HTTP 实体主体的内容。

  IsAuthenticated 获取一个值,该值指示是否验证了请求。

  IsLocal 获取一个值,该值指示该请求是否来自本地计算机。

  IsSecureConnection 获取一个值,该值指示 HTTP 连接是否使用安全套接字(即 HTTPS)。

  Item 从 Cookies、Form、QueryString 或 ServerVariables 集合中获取指定的对象。

  LogonUserIdentity 获取当前用户的 WindowsIdentity 类型。

  Params 获取 QueryString、Form、ServerVariables 和 Cookies 项的组合集合。

  Path 获取当前请求的虚拟路径。

  PathInfo 获取具有 URL 扩展名的资源的附加路径信息。

  PhysicalApplicationPath 获取当前正在执行的服务器应用程序的根目录的物理文件系统路径。

  PhysicalPath 获取与请求的 URL 相对应的物理文件系统路径。

  QueryString 获取 HTTP 查询字符串变量集合。

  RawUrl 获取当前请求的原始 URL。

  RequestType 获取或设置客户端使用的 HTTP 数据传输方法(GET 或 POST)。

  ServerVariables 获取 Web 服务器变量的集合。

  TotalBytes 获取当前输入流中的字节数。

  Url 获取有关当前请求的 URL 的信息。

  UrlReferrer 获取有关客户端上次请求的 URL 的信息,该请求链接到当前的 URL。

  UserAgent 获取客户端浏览器的原始用户代理信息。

  UserHostAddress 获取远程客户端的 IP 主机地址。

  UserHostName 获取远程客户端的 DNS 名称。

  UserLanguages 获取客户端语言首选项的排序字符串数组。

  1.Request.ApplicationPath->当前应用的目录

  楼主没有接触过jsp吧,如果接触过jsp就会非常清楚,ApplicationPath指的是当前的application(应用程序)的目录

  对应的--例如我的服务器上有两个web应用域名都是MySite.com 一个映射到目录MySite.com/1/ 另一个影射到 http://MySite.com/2/

  那么 MySite.com/1/就是第一个应用的ApplicationPath 同理 MySite.com/2/就是第二个应用的ApplicationPath

  2.Request.FilePath->对应于iis的虚拟目录

  如 URL http://MySite.com/1/index.html/pathinfo

  FilePath = /1/index.html

  3.Request.Path->当前请求的虚拟路径

  Path 是 FilePath 和 PathInfo 尾部的串联。例如 URL http://MySite.com/1/index.html/pathinfo

  那么Path = /1/index.html/pathinfo

  4.Request.MapPath(string url)->将url映射为iis上的虚拟目录

  这个目录都是相对于application的根目录的

  于Server.MapPath相比,不会包含类似c:/这样的路径

  可以理解为是相对路径(对比的Server.MapPath就是绝对路径)

  5.Server.MapPath(string url)->将url映射为服务器上的物理路径

  例如 http://MySite.com/1/index.html 假设你的应用程序在c:/iis/MySite中

  那么 就是 c:/iis/MySite/1/index.html

  Requst.FilePath获取当前请求的虚拟路径。FilePath 属性不包含 PathInfo 尾部。例如,对于 URL http://www.contoso.com/virdir/page.html/tail,FilePath 值为 /virdir/page.html。

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

  Request.Path 获取当前请求的虚拟路径。Path 是 FilePath 和 PathInfo 尾部的串联。例如,对于 URL http://www.contoso.com/virdir/page.html/tail,Path 为 /virdir/page.html/tail。

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

  Request.MapPath 方法将指定的虚拟路径映射到物理路径。

  下面的代码示例使用 MapPath 方法将虚拟路径转换为服务器上完全限定的物理路径。此示例包括两个部分:

  .aspx 页映射路径、读取文件并显示读取操作的结果。

  UpperCaseFilterStream 类,该类将通过它传递的所有字符都更改为大写。

  示例的第一部分显示如何使用 MapPath 方法将虚拟路径转换为完全限定的物理路径。之后,将此物理路径传递给 StreamReader 对象,该对象包含该文件的内容。然后,调用 Write 方法,以在页面上显示文件的内容。Filter 属性用于将筛选器附加到响应流,该响应流使页面上显示的文本全部大写

ASP.NET获取网站根目录(路径)的更多相关文章

  1. asp.net 获取网站根目录总结 Global.asax文件里获取获取网站根目录

    1:  获取网站根目录的方法有几种如: Server.MapPath(Request.ServerVariables["PATH_INFO"])Server.MapPath(&qu ...

  2. Asp.net获取网站绝对路径的几种方法

    在编写ASP.NET应用程序的时候,有时候为了更好的进行控制静态文件的路径,以及网站部署过程中的虚拟路径等问题,采用绝对路径避免资源出现Not Found,下面先看看几种获取绝对路径的方法: 1. 以 ...

  3. asp.net 获取网站根目录总结

    .CSHttpContext.Current.Server.MapPath();//所在文件夹路径System.Web.HttpContext.Current.Request.PhysicalAppl ...

  4. 【转载】ASP.NET中Server.MapPath方法获取网站根目录总结

    在ASP.NET网站应用程序中,可以通过Server.MapPath方法来获取跟服务器有关的目录信息,如获取网站的根目录.获取当前代码文件所在的目录路径.获取当前代码所在路径的上级路径等.Server ...

  5. PHP中如何获取网站根目录物理路径

    在php程序开发中经常需要获取当前网站的目录,我们可以通过常量定义获取站点根目录物理路径,方便在程序中使用. 下面介绍几种常用的获取网站根目录的方法. php获取网站根目录方法一: <?php ...

  6. js获取网站根目录

    //js获取网站根路径(站点及虚拟目录),获得网站的根目录或虚拟目录的根地址         function getRootPath(){        var strFullPath=window ...

  7. .net 获取网站根目录总结

    一.获取网站根目录的方法有几种如: Server.MapPath(Request.ServerVariables["PATH_INFO"]) //页面详细路 Server.MapP ...

  8. php获取网站根目录

    php获取网站根目录方法一:<?phpdefine("WWWROOT",str_ireplace(str_replace("/","\\&quo ...

  9. OpenShift 自定义 OPENSHIFT_DOCUMENT_ROOT 变量,替换网站根目录路径!

    OpenShift 自定义 OPENSHIFT_DOCUMENT_ROOT 变量,替换网站根目录路径! 预先定义的子目录 :)     DIY: DocumentRoot=${OPENSHIFT_RE ...

随机推荐

  1. NOI2014 魔法森林 day1t2 SPFA

    这道题做法还是很多的,至少有人用最优性剪枝当场A掉了.我只有50分的暴力分(写丑了),SB我不会LCT,先写一下SPFA的神思路做法(说白了还是我SB),LCT以后定补.ORZ想出来的人(hq大神). ...

  2. nginxhttp请求限制丶tcp会话限制和下载速度限制

    (1)nginx请求限制 ngx_http_limit_req_module:开启对单个ip丶单个会话在单位时间内请求的限制rate表示限制的速率 1.修改nginx配置文件 #vim /usr/lo ...

  3. Mybatis框架-1

    1.Mybatis框架: Mybatis是一个半自动的对象关系映射(ORM),实现结果集的自动封装,sql写到配置文件中: Mybatis使用的是DTD约束. 2.Mybatis模块调用: 3.Sql ...

  4. List 集合中 均匀的取七个点 的值

    场景: 一个未知 长度的 List 集合,可能 长度为7,10,50,100, 等等 这个时候 ,我们需要在 集合中 均匀的取七个点: 思路: n=6; int size = list.Size(); ...

  5. Linux命令之which

    which [选项] [命令] 将命令的完整路径写入标准输出.具体是在环境变量PATH设置的目录里查找符合条件的文件,而环境变量PATH中保存了查找命令时需要遍历的目录. (1).选项 -v,-V,- ...

  6. 密码统计分析工具pipal

    密码统计分析工具pipal   pipal是Kali Linux提供的一款密码统计分析工具.该工具可以对一个密码字典的所有密码进行统计分析.它会统计最常用的密码.最常用的基础词语.密码长度占比.构成字 ...

  7. Spring中的设计模式2

    Spring设计模式分析   工厂模式和单态模式 工厂模式:可以将java对象对象的调用者从被调用者的实现逻辑中分离.调用者只关心被调用者必须满足的某种规则,这种规则我们看做是接口,不必关心实例的具体 ...

  8. 浅谈OI中的提交答案

    在OI中,题目有三类: 传统题 交互题 提交答案题 今天来了解一下第三类 概述 传统题:给你一个题面,你需要交一个程序,评测姬会用你的程序运行你看不到的一些测试点,用输出和正确答案比较 提交答案题:给 ...

  9. 【推导】【NTT】hdu6061 RXD and functions(NTT)

    题意:给定一个n次多项式f(x)的各项系数,让你求f(x-Σai)的各项系数. http://blog.csdn.net/v5zsq/article/details/76780053 推导才是最关键的 ...

  10. 【构造】AtCoder Regular Contest 079 F - Namori Grundy

    对每个点的取值都取最小的可能值. 那个图最多一个环,非环的点的取值很容易唯一确定. 对于环上的点v,其最小可能取值要么是mex{c1,c2,...,ck}(ci这些是v直接相连的非环点)(mex是). ...