----转自痕网 - henw (http://www.cnblogs.com/henw/archive/2011/05/15/2046828.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("
");
         sb.Append(string.Format("当前请求的虚拟路径: {0}",Server.HtmlEncode(Request.CurrentExecutionFilePath)));
         sb.Append("
");
         sb.Append(string.Format("获取当前应用程序的根目录路径: {0}", Server.HtmlEncode(Request.ApplicationPath)));
         sb.Append("
");
         sb.Append(string.Format("当前请求的虚拟路径: {0}",Server.HtmlEncode(Request.FilePath)));
         sb.Append("
");
         sb.Append(string.Format("当前请求的虚拟路径: {0}",Server.HtmlEncode(Request.Path)));
         sb.Append("
");
         sb.Append(string.Format("获取当前正在执行的应用程序的根目录的物理文件系统路径: {0}", Server.HtmlEncode(Request.PhysicalApplicationPath)));
         sb.Append("
");
         sb.Append(string.Format("获取与请求的 URL 相对应的物理文件系统路径: {0}", Server.HtmlEncode(Request.PhysicalApplicationPath)));
         sb.Append("
");
         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编程中经常需要用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:WWW estweb
Request.PhysicalPath:                         E:WWW estwebdefault.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 属性用于将筛选器附加到响应流,该响应流使页面上显示的文本全部大写。

转载于:https://www.cnblogs.com/Rampage/archive/2012/11/01/2749765.html

asp.net 路径(转)相关推荐

  1. 服务器本地打开asp文件路径,服务器本地打开asp文件

    服务器本地打开asp文件 内容精选 换一换 本节操作指导您完成Windows操作系统云服务器磁盘空间清理.弹性云服务器匀出一部分磁盘空间来充当内存使用,当内存耗尽时,云服务器可以使用虚拟内存来缓解内存 ...

  2. asp.net路径的两种写法

    例如:~/Default.aspx  和  ../Default.aspx 其中  ~/表示根目录下    ../表示上一层目录 ~/ 运算符只能为服务器控件识别,并且位于服务器代码中

  3. C# ,asp.net 获取当前,相对,绝对路径

    一.C#获取当前路径的方法: 1. System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName -获取模块的完整路径. 2. ...

  4. iis7设置html支持asp,Win7下启用IIS7配置ASP运行环境的详细方法

    第一次在windows7下配置IIS,虽然有丰富的xp下配置IIS的经验,但还是会遇到不少的问题.特别是对入门者来说,搞清一些东西还是挺费时间的.其实win7下的IIS7配置过程是非常简单的.下面让s ...

  5. Windows7 IIS安装与配置asp和asp.net(图解)教程

    1.进入Win7的 控制面板的卸载程序 2.选择左侧的 打开或关闭Windows功能 . 3.现在出现了安装Windows功能的选项菜单,注意选择的项目,我们需要手动选择需要的功能,下面这张图片把需要 ...

  6. ASP.NET中对STA COM组件的不正确调用产生的w3wp远程DoS

    文章作者:debasis[AT]hackingspirits.com 译者注:本文是对06年一著名漏洞的漏洞分析,只因发现过程及漏洞产生机理极有价值,特翻译之,故没有注重其时效性,请各位包涵 :) 厂 ...

  7. 在Windows 7中安装、配置和使用IIS7和ASP

    本文讲述了在Windows 7下如何安装IIS7,以及IIS7在安装过程中的一些需要注意的设置,以及在IIS7下配置ASP的正确方法. 在Windows 7下面IIS7的安装方法: 一.进入Windo ...

  8. 【合天网安】CONN.ASP暴库漏洞实验

    0x01预备知识 1.概念: 相对路径和绝对路径 绝对路径:例如D:/test/test.mdb 相对路径:例如/test/test.mdb 2.%5C暴库 简单点说,就是在打开页面的时候把网页中的/ ...

  9. 分享122个ASP源码,总有一款适合您

    ASP源码 分享122个ASP源码,总有一款适合您 下面是文件的名字,我放了一些图片,文章里不是所有的图主要是放不下..., 122个ASP源码下载链接:https://pan.baidu.com/s ...

最新文章

  1. beats x连android手机吗,beats x 能连安卓手机吗?
  2. java 规则引擎_GitHub - javaso/rulegin: 分布式规则引擎系统,重构于开源IOT项目thingboard...
  3. Theme,skin-----asp.net2.0 new technolog
  4. shell----bash
  5. 使用IntelliJ IDEA看源码的时候,如何在优雅的查看类继承关系...【看这篇就够了】
  6. 使用Hibernate批量获取
  7. 拉拢苹果用户,谷歌推出“从 iOS 转移到 Android” App
  8. linux网卡配置文件中2个ip,Linux Centos 7系统中如何一个网卡配置多个IP
  9. TensorFlow 2.0要来了,tf.contrib要砍了 | 有什么意见你说啊
  10. ionic3编译到Android 相关配置
  11. 一个很好的弹出层插件nyroModal
  12. python的sorted函数和operator.itemgetter函数
  13. Chladni Figure CodeForces - 1162D (暴力,真香啊~)
  14. centos下ftp服务器搭建
  15. testbed常见问题及处理(2)
  16. uni-app如何发送请求调用接口
  17. JS中的对象以及在web前端的应用
  18. 日语开发java自我介绍,用日语自我介绍,这些你一定会用到
  19. 极速下载!利用插件破解百度云限速
  20. 【gnuplot】gnuplot安装与简易使用

热门文章

  1. 机器人学习--图解激光SLAM
  2. 开发实践 | Android开发Zegbee 温度、气体采集系统(代码类)
  3. Qt学习(八):QT中TCP传输文件
  4. matlab怎么连接服务器,matlab安装小坑----连接不上服务器
  5. php320,PHP_PHP正式版-320mp3下载站
  6. linux系统配置php环境,linux下php环境的搭建
  7. python 处理 excel格式文件
  8. linux复制duo文件,自动生成Linux下Makefile全攻略(转)
  9. 分子生物学之蛋白质概述
  10. .net随笔-vb.net打开外部程序发送键盘信号(1)