asp.net获取网站路径

news/2024/5/12 8:09:01/文章来源:https://blog.csdn.net/weixin_30652491/article/details/99450392

网站在服务器磁盘上的物理路径: 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 属性用于将筛选器附加到响应流,该响应流使页面上显示的文本全部大写。

转载于:https://www.cnblogs.com/peipei2009/archive/2009/05/11/1454155.html

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

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

相关文章

知名网站的 404 页面长啥样?

来自&#xff1a;程序猿&#xff08;微信号&#xff1a;imkuqin&#xff09;每天浏览各大网站&#xff0c;难免会碰到404页面啊。你注意过404页面么&#xff1f;猿妹搜罗来了下面这些知名网站的404页面&#xff0c;以供大家欣赏&#xff0c;看看哪个网站更有创意&#xff1a;腾…

开源Jekyll助您构建你的网站

Jekyll 是一个开源的静态网站生成器。你可以使用 Markdown 编写内容&#xff0c;使用 HTML/CSS 来构建和展示&#xff0c;Jekyll 会将其编译为静态的 HTML。Jekyll 是一个开源的静态网站生成器。你可以使用 Markdown 编写内容&#xff0c;使用 HTML/CSS 来构建和展示&#xff0…

用WWWGrep来检查你的网站元素安全

WWWGrep是一款针对HTML安全的工具&#xff0c;该工具基于快速搜索“grepping”机制实现其功能&#xff0c;并且可以按照类型检查HTML元素&#xff0c;并允许执行单个、多个或递归搜索。 关于WWWGrep WWWGrep是一款针对HTML安全的工具&#xff0c;该工具基于快速搜索“grepping…

免费下载高质量素材资源的28个网站推荐

Web设计人员经常会去网上搜罗各种各样的素材&#xff0c;这些免费素材不仅能帮助他们节省大量的时间&#xff0c;还能有很好的效果。如今&#xff0c;网络上有很多很多有才华的设计师分享它们的劳动成果&#xff0c;让更多的人可以使用他们的创意设计&#xff0c;谢谢他们。今天…

网站性能优化的常用方法

网站性能的优化是一件大事。它涉及多个方面需要照顾&#xff0c;其中许多取决于网站本身、其复杂性和元素。但是&#xff0c;还有一些适用于任何站点的常用优化方法。集成 CDN 内容交付网络(又名 CDN)是一个非常棒的工具&#xff0c;可以集成到你的网站中&#xff0c;因为它可…

刷了几千道算法题,我私藏的刷题网站都在这里了

作者 | Rocky0429 来源 | Python空间&#xff08;ID: Devtogether&#xff09;遥想当年&#xff0c;机缘巧合入了 ACM 的坑&#xff0c;周边巨擘林立&#xff0c;从此过上了"天天被虐似死狗"的生活...然而我是谁&#xff0c;我可是死狗中的战斗鸡&#xff0c;智力不够…

深度学习会议论文不好找?这个ConfTube网站全都有

BDTC大会官网&#xff1a;https://t.csdnimg.cn/q4TY作者 | 刘畅 出品 | AI科技大本营&#xff08;ID:rgznai1000&#xff09;最近跟身边的硕士生、博士生聊天&#xff0c;发现有一个共同话题&#xff0c;大家都想要知道哪款产品能防止掉头发&#xff1f;养发育发已经成了茶余饭…

不到顶会现场也能听论文讲解?这个视频集合网站值得收藏

BDTC大会官网&#xff1a;https://t.csdnimg.cn/q4TY作者 | 刘畅出品 | AI科技大本营&#xff08;ID:rgznai1000&#xff09;最近跟身边的硕士生、博士生聊天&#xff0c;发现有一个共同话题&#xff0c;大家都想要知道哪款产品能防止掉头发&#xff1f;养发育发已经成了茶余饭…

Nginx搭建静态网站

2019独角兽企业重金招聘Python工程师标准>>> 搭建Http静态服务器环境 搭建静态网站&#xff0c;首先需要部署环境。下面的步骤&#xff0c;将告诉大家如何在服务器上通过 Nginx 部署 HTTP 静态服务。 安装 Nginx 在 CentOS 上&#xff0c;可直接使用 yum 来安装 Ngi…

aes离线解密工具_CTF常用工具、网站、练习平台

常用工具网站CTFtools 比较全的工具下载网站&#xff0c;提供百度云链接BUUCTF 比较全的工具下载网站&#xff0c;提供百度云链接XSS 之旅 xss 攻击练习网站&#xff0c;闯关式设计&#xff0c;难度递增tooleyes 在线工具库&#xff0c;一些编码和算法之类的都有千千秀字常用密…

真爱!微软宣布新开源网站,由 Jekyll 一键生成,代码所见即所得

来源 | Microsoft编辑 | 小匀转自 | 新智元近日&#xff0c;微软上线了一个新的开源网站。这不是微软唯一的开源网站&#xff0c;但却代表了新的起点。网友表示&#xff1a;这次真的拥抱开源了&#xff01;从「恨」到「爱」&#xff0c;微软与开源有着一段长达30年的故事。微软…

怎样监测微型的网站服务

最终我意识到&#xff0c;我所要写的任何服务器的风险都很低&#xff0c;如果它们偶尔宕机 2 小时也没什么大不了的&#xff0c;我只需设置一些非常简单的监控来帮助它们保持运行。 你好! 我最近又开始运行一些服务器&#xff08;​​nginx playground​​​、​​mess with dn…

关于mouseenter、mouseover、mouseout、mouseleave的理解

先说结论&#xff1a;enter、leave是元素区域上的进入和离开&#xff0c;over、out是逻辑上的进入和离开。 enter和leave只在离开元素区域时触发&#xff0c;比如下面这个子元素在父元素的区域中&#xff0c;那么进入、离开子元素是不会触发的&#xff0c;因为子元素在父元素的…

php网站首页点击更多时获取数据,jQuery+PHP实现点击按钮加载更多,不刷新页面加载更多数据!附:可用源码+demo...

先上效果&#xff1a;刚打开页面的时候&#xff0c;只显示部分数据&#xff0c;点击加载更多的时候&#xff0c;就会加载我们预先定义的加载数量显示出来&#xff01;当数据库里面的所有数据都显示出来&#xff0c;就提示全部加载了&#xff01;新建index.phpjQueryphp实现点击…

整理一周的Python资料,包含各阶段所需网站、项目,2020燥起来!

回复“pythonpdf“&#xff0c;立刻领取100本全品类Python电子书不知怎么的&#xff0c;最近不少关注我的读者都开始私信我怎么学好python&#xff1f;零基础转行是不是合适&#xff0c;还有希望吗&#xff1f;今年30了&#xff0c;还能不能转IT&#xff1f;其实关于零基础转型…

深度学习三巨头也成了大眼萌,这个一键转换动画电影形象的网站竟因「太火」而下线...

机器之心报道作者&#xff1a;魔王、杜伟想不想在动画电影中拥有自己的角色&#xff1f;这个网站一键满足你的需求&#xff0c;不过竟因流量太大成本过高而下线。近期热映的电影《花木兰》总是让人回想起 1998 年上映的同名动画电影。说起来&#xff0c;动漫真人化或动画版翻拍…

网站位置服务器,如何查看网站的服务器位置

如何查看网站的服务器位置 内容精选换一换华为云主机迁移服务帮助中心&#xff0c;为用户提供产品简介、快速入门、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档&#xff0c;帮助您快速上手使用主机迁移服务。用户云服务器基本网络功能异常&#xff0c;无法完成…

网络安全系列之七 网站提权

上传了webshell之后&#xff0c;我们的目的是获取服务器的系统管理员权限&#xff0c;这也是黑客入侵的最终目的。 “H4ck Door”是一个很牛的大马&#xff0c;提供了很多功能&#xff0c;我比较喜欢的是执行cmd命令来提权。 首先执行“net user”命令查看服务器有哪些用户&…

vue论坛网站的文章自动排版_基于 VuePress 定制个人博客网站

VuePress简单来说&#xff0c;VuePress 是 Vue 驱动的静态网站生成器。VuePress 简单易上手&#xff0c;同时也有足够强大的定制能力&#xff0c;尤其对熟悉 Vue 的前端开发人员而言。相比于知名的博客生成器 Hexo 来说&#xff0c;VuePress 最大优势就是 Vue 带来的灵活性。在…

想自己搭建服务器,永久运行网站?一个U盘大小的树莓派就够了!

点击上方“方志朋”&#xff0c;选择“设为星标”回复”666“获取新整理的面试资料作者&#xff1a;彭小呆来源&#xff1a;https://urlify.cn/nqaQVfNo.1前言由于本人在这段时候&#xff0c;看到了一个叫做树莓派的东东&#xff0c;初步了解之后觉得很有意思&#xff0c;于是想…