ASP.NET获取web应用程序的路径
服务器磁盘上的物理路径: 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编程中经常需要用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\testweb\
Request.PhysicalPath: E:\WWW\testweb\default.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 属性用于将筛选器附加到响应流,该响应流使页面上显示的文本全部大写。
-
资料引用:http://www.knowsky.com/540669.html
ASP.NET获取web应用程序的路径的更多相关文章
- ASP.Net 类(CS)文件怎样获取Web应用程序的路径
Web应用程序,写了一个线程CS类别,这个类别将会放于Global.asax文件中执行,主要是监控程序下某一个文件是否有异动,而作出相应警示动作,如发送邮件等. 实现运行过程中,也许会有一个情况出现, ...
- C#、ASP.NET获取当前应用程序的绝对路径,获取程序工作路径 (转帖)
C#.ASP.NET获取当前应用程序的绝对路径,获取程序工作路径 ============================================ 使用 Application.Start ...
- 在 ASP.NET MVC Web 应用程序中输出 RSS Feeds
RSS全称Really Simple Syndication.一些更新频率较高的网站可以通过RSS让订阅者快速获取更新信息.RSS文档需遵守XML规范的,其中必需包含标题.链接.描述信息,还可以包含发 ...
- Asp.Net Core Web应用程序—探索
前言 作为一个Windows系统下的开发者,我对于Core的使用机会几乎为0,但是考虑到微软的战略规划,我觉得,Core还是有先了解起来的必要. 因为,目前微软已经搞出了两个框架了,一个是Net标准( ...
- ASP.NET Core Web 应用程序系列(五)- 在ASP.NET Core中使用AutoMapper进行实体映射
本章主要简单介绍下在ASP.NET Core中如何使用AutoMapper进行实体映射.在正式进入主题之前我们来看下几个概念: 1.数据库持久化对象PO(Persistent Object):顾名思义 ...
- ASP.NET Core Web 应用程序系列(三)- 在ASP.NET Core中使用Autofac替换自带DI进行构造函数和属性的批量依赖注入(MVC当中应用)
在上一章中主要和大家分享了在ASP.NET Core中如何使用Autofac替换自带DI进行构造函数的批量依赖注入,本章将和大家继续分享如何使之能够同时支持属性的批量依赖注入. 约定: 1.仓储层接口 ...
- ASP.NET Core Web 应用程序系列(二)- 在ASP.NET Core中使用Autofac替换自带DI进行批量依赖注入(MVC当中应用)
在上一章中主要和大家分享在MVC当中如何使用ASP.NET Core内置的DI进行批量依赖注入,本章将继续和大家分享在ASP.NET Core中如何使用Autofac替换自带DI进行批量依赖注入. P ...
- ASP.NET Core Web 应用程序系列(一)- 使用ASP.NET Core内置的IoC容器DI进行批量依赖注入(MVC当中应用)
在正式进入主题之前我们来看下几个概念: 一.依赖倒置 依赖倒置是编程五大原则之一,即: 1.上层模块不应该依赖于下层模块,它们共同依赖于一个抽象. 2.抽象不能依赖于具体,具体依赖于抽象. 其中上层就 ...
- ASP.NET Core Web 应用程序开发期间部署到IIS自定义主机域名并附加到进程调试
想必大家之前在进行ASP.NET Web 应用程序开发期间都有用到过将我们的网站部署到IIS自定义主机域名并附加到进程进行调试. 那我们的ASP.NET Core Web 应用程序又是如何部署到我们的 ...
随机推荐
- Java基础学习总结(28)——Java对各种排序算法的实现
这里总结下各种排序算法的java实现 冒泡排序 public class BubbleSort { publicstaticint[] bubbleSort(int[] array) { if(arr ...
- [D3] Create DOM Elements with D3 v4
Change is good, but creating from scratch is even better. This lesson shows you how to create DOM el ...
- 步步为营(十五)搜索(一)DFS 深度优先搜索
前方大坑预警! 先讲讲什么是搜索吧. 有一天你去一个果园摘梨子,果农告诉你.有一棵树上有一个金子做的梨子,找到就是你的,你该怎么找? 地图例如以下: S 0 0 0 0 0 0 0 0 0 0 0 0 ...
- 基于bootstrap的漂亮网站后台管理界面框架汇总
基于bootstrap的漂亮网站后台管理界面框架汇总 10个最新的 Bootstrap 3 管理模板 这里分享的 10 个模板是从最新的 Bootstrap 3 管理模板集合中挑选出来的,可以帮助你用 ...
- POJ 2983 Is the Information Reliable? 依旧差分约束
http://poj.org/problem?id=2983 题目大意: 星际大战开始了.你购买了情报,需要判断它的准确性.已知地方的根据地在由南向北排成一条直线.P A B X,表示A在B北面距离X ...
- Mybatis全面详解——上(学习总结)
原文地址:https://blog.csdn.net/ITITII/article/details/79969447 一.什么是Mybatis 这里借用官网的一句话介绍什么是mybatis:MyBat ...
- angular的学习参考材料
原文地址:https://www.jianshu.com/p/b9db7bb3d4ec 目的 其实写这篇文章的主要目的是为了提供给那些刚刚入门angular或者有意学习angular的读者准备的. 我 ...
- P2P网络借贷系统简要解读
P2P网络借贷系统的核心功能其实很简单,就是若干投资者(借款人)集体把钱贷给贷款人,到期后,贷款人把利息和本金按时还给借款人.平台的主要作用是"撮合",收取一定的服务费和管理费. ...
- Booth算法
Booth算法 算法描述(载自维基百科) 对于N位乘数Y,布斯算法检查其2的补码形式的最后一位和一个隐含的低位,命名为y-1,初始值为0.对于yi, i = 0, 1, ..., N - 1,考察yi ...
- Hibernate的ID主键生成策略
ID生成策略(一) 通过XML配置实现ID自己主动生成(測试uuid和native) 之前我们讲了除了通过注解的方式来创建一个持久化bean外.也能够在须要持久化的bean的包路径下创建一个与bean ...