频道栏目
首页 > 程序开发 > Web开发 > ASP.Net > 正文
asp.net获取网站路径
2011-10-13 15:50:16      个评论      
收藏   我要投稿

 

网站在服务器磁盘上的物理路径: 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地址是https://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:                      https://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/ 另一个影射到https://MySite.com/2/

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

 

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

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

FilePath = /1/index.html

 

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

Path 是FilePath 和PathInfo 尾部的串联。例如URL https://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映射为服务器上的物理路径

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

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

 

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

 

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

 

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

 

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

 

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

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

 

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

 

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

 

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

点击复制链接 与好友分享!回本站首页
相关TAG标签 路径 网站
上一篇:如何在ASP.NET MVC中使用图表控件
下一篇:遭遇ASP.NET的Request is not available in this context
相关文章
图文推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站