ASP.NET获取网站路径

news/2024/5/9 20:50:13/文章来源:https://blog.csdn.net/witmind/article/details/4990547

 

网站在服务器磁盘上的物理路径: 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://hi.baidu.com/zhangfengbang/blog/item/5f99d74b0ce661f883025cbc.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_883372.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

搜索引擎SEO外挂:一边搜索,一边看PageRank

搜索引擎SEO外挂&#xff1a;一边搜索&#xff0c;一边看PageRank 下载地址&#xff1a;多么乐站长工具 我原来曾写过一篇统计分析搜索引擎排名和Page Rank 关联分析 的文章。很多人引用&#xff0c;回复和我讨论了我的结论。有赞成的&#xff0c;有反对的&#xff0c;有鼓励的…

盘点游戏行业的那些干货网站

对于游戏行业的从业者来说&#xff0c;每天看看行业资讯&#xff0c;了解些游戏数据&#xff0c;学习写游戏干货&#xff0c;已经成为每日的必修课程了&#xff0c;现在推荐一些比较好的游戏行业分享干货的网站供大家学习&#xff1a; 1.游戏数据分析 http://www.gamedatas.com…

实际采用 FleaPHP 的网站

下面都是采用 FleaPHP 框架开发的网站列表&#xff0c;如果发现无效连接请在留言。 如果你有采用 FleaPHP 开发的网站&#xff0c;并且愿意公开网址&#xff0c;可以发邮件到 dualface (at) gmail.com 需要提供的信息包括网站名称和连接地址&#xff0c;以及简单的介绍文字。 云…

seo优化:把百度放进数据库

seo优化:把百度放进数据库 有时候我想&#xff0c;能把百度的数据放进数据库&#xff0c;用广大程序员熟悉的sql语句查询百度的搜索结果应该是一个不错的主意。在这方面Google早已经跨出了一大步&#xff0c;利用Google Search API 把Google的搜索结果放进数据库是很容易办到得…

搜索引擎SEO外挂:一边搜索,一边看PageRank

搜索引擎SEO外挂&#xff1a;一边搜索&#xff0c;一边看PageRank 下载地址&#xff1a;多么乐站长工具 我原来曾写过一篇统计分析搜索引擎排名和Page Rank 关联分析 的文章。很多人引用&#xff0c;回复和我讨论了我的结论。有赞成的&#xff0c;有反对的&#xff0c;有鼓励的…

Linux系统中搭建LAMP动态博客网站

在新Web2.0革命中&#xff0c;博客是最早出现的&#xff0c;也被更多的人所了解。博客的中文有两重含义&#xff0c;既指撰写个人网络日志的人(Blogger)&#xff0c;也指承载个人网络日志的网站(Blog)。用全球最大博客网站Blogger.com的解释&#xff1a;“blog 可以是个人日记、…

ASP.NET网站全文检索(代码部分)

ASPX页面代码如下&#xff1a; < tr > < td class "record" height "20" > 关 键 词&#xff1a; < asp:textbox id "txtQuery" accessKey "Q" runat "server" Width "250px" MaxLength &qu…

网站推荐机制中的艺术、科学与商务问题

网站推荐机制是电子商务或内容网站的核心功能之一。例如你在一个网站买了一本书后&#xff0c;网站会推荐其他你可能会感兴趣的书。这被认为是亚马逊等电子商务巨头成功的关键。本文对几个出色的推荐系统进行了较透彻的分析。 2006年10月&#xff0c;Netflix搞了一次不寻常的有…

OpenCms创建网站过程图解——献给OpenCms的初学者们

很多人都听说了OpenCms&#xff0c;知道了它的强大&#xff0c;索性的下载安装了&#xff0c;终于见到了久违OpenCms&#xff0c;看到了它简洁的界面&#xff0c;欣喜过后却不免一脸茫然&#xff0c;这个东西怎么用&#xff0c;我怎么用它来建站&#xff0c;从哪开始&#xff0…

Red Hat推出”MugShot”社交娱乐网站

网址: http://mugshot.org/ Red Hat近来推出”MugShot”网站, MugShot是一个致力于在线社交娱乐的开源项目. 它提供了更方便的网页和音乐分享. 当前MugShot处于测试阶段, 只提供邀请帐号. 你可以从这里申请. 更多信息见常见问题和开发主页. 欢迎任何问题和建议. 网址: http://…

ASP.NET 2.0网站专案同时使C#与VB.NET之技巧(新书连载)

ASP.NET 2.0网站专案同时使C#与VB.NET之技巧&#xff08;新书连载&#xff09; 你知道专案ASP.NET 2.0网站要如何同时使用C#与VB.NET两种语言及多组件的技巧吗&#xff1f; 节录自【圣殿祭司的ASP.NET 2.0专家技术手册】新书 在以往VS.NET 2002及VS.NET 2003的Visual Studio工具…

Coursera网站无法播放视频显示图片问题解决

Coursera网站无法播放视频显示图片问题解决 在线解析工具改变host文件cmd终端 因为最近在Coursera网站上学习吴恩达老师deep learning这门课程&#xff0c;但是我们在国内去上这个网站的时候其实是没有办法显示图片和视频的&#xff0c;因此在网上查阅相关内容之后&#xff0c;…

CSS制作简易花束网站首页(新手适用)

效果展示&#xff1a; 制作头部&#xff1a; 思路&#xff1a;在h1标题中加入颜色和不同字体大小等样式&#xff0c;在标题下加条下划线即可。 <header><h1><strong>浪漫の都</strong><em>___这一生只为与你相遇</em></h1><hr s…

在chrome中设置禁止访问的网站

如何在chrome中禁止访问某个网站&#xff1a; 点击右上角&#xff0c;一竖排点那个按钮&#xff1a; 2.选择“设置”&#xff1b; 3.左边选择“隐私与安全设置”&#xff1a; 4.选择网站设置最左边的小箭头&#xff1a; 5.点击这个&#xff1a; 6.找到禁止的地方&#…

PHP网站登录分发程序+无需申请登陆权限

简介&#xff1a; 申请一个Q互联登录权限后&#xff0c;可以分发给更多的网站使用&#xff0c;安装与配置请下载后打开readme.txt 发起登陆&#xff1a;域名/api.php?token&#xff0c;登陆之后会成功跳转到后台token对应的回调地址&#xff0c;会带着获取到openid回调。 下…

在线增加网站PV量单页源码

介绍: PV是什么想必想必站长们都知道是什么&#xff0c;所以我这里就不解释了&#xff0c;我看了下程序文件&#xff0c;核心文件是被加密的&#xff0c;但是不影响使用&#xff0c;加密类型是混淆加密&#xff0c;混淆加密是很好解的&#xff0c;如果你是在想要源文件&#x…

大型网站高并发处理Nginx+lvs

一.负载均衡 为啥会出现负载均衡 在海量并发的环境下&#xff0c;用户每一次请求服务器&#xff0c;都需要大量的创建线程&#xff0c;每一次的线程都必须分配资源&#xff08;CPU、内存、带宽、磁盘 IO等&#xff09;&#xff0c;当资源不足的时候就会使得服务器宕机而无法提…

“网络白痴”初学SEO成长经验心得

三个月前因为工作上的需要&#xff0c;开始接触网络知识。因为我的工作面对的是网站&#xff0c;负责对网站进行优化&#xff0c;所以在范围那么大的网络知识中只需要学习其中的一小部分就可以了。 网站优化在行业中叫做“seo”(Search Engine Optimization)汉译为搜索引擎优化…

我为什么要做个人网站——互联网乌托邦的理想

2019年3月6日夜&#xff0c;我在qq空间第一次公开我的个人网站。 这是我的第一个网站&#xff0c;不&#xff0c;现在它还不能算是一个网站&#xff0c;因为做好的&#xff0c;仅仅一个欢迎页面&#xff0c;而真正的网站&#xff0c;是要有更丰富的页面和内容的&#xff0c;这是…

电商网站--放大镜效果的实现

最近有做一个PC端的简单官网,主要是进行商品的展示,目前没有收藏,加入购物车,购买的功能,商品详情页有商品图片,各种详细信息的展示,原型上是没有放大镜的功能的,当时有空余时间,我就想着试试放大镜的效果吧,js可以实现,但是网上页有各种插件,不用白不用,那就用插件吧 // 1,,,…