ASP.NET中的多种path详解

开发 后端
在Web服务器端开发中经常会遇到各种不同形式的path,而且经常记不清楚如何获取到某种特定格式,今天抽了点时间把常用的path获取方法与格式做了一个简单的对照表,以备日后使用ASP.NET中的多种path查找。

ASP.NET中的多种path详解

Request获取的信息

Request.AppRelativeCurrentExecutionFilePath                  ~/SysOption/BillingSetup1.aspx

Request.ApplicationPath                                                 /

Request.CurrentExecutionFilePath                                   /SysOption/BillingSetup1.aspx

Request.FilePath                                                            /SysOption/BillingSetup1.aspx

Request.Path                                                                /SysOption/BillingSetup1.aspx

Request.PathInfo                                                          什么都没有(待测其他用法)

Request.PhysicalApplicationPath                                      D:\VssWorkFolder\British_School_MIS\src\WebSite\

Request.PhysicalPath                                                      D:\VssWorkFolder\British_School_MIS\src\WebSite\SysOption\BillingSetup1.aspx

Request.UserHostAddress                                              192.168.1.6

Request.UserHostName                                                  192.168.1.6

Request.Url.ToString()                                                    http://192.168.1.6/SysOption/BillingSetup1.aspx?x=d

Request.UrlReferrer                                                        空引用或者跳转源页面地址        

Request.ServerVariables集合中获取到的相关信息:

左列是服务器变量名,右侧是值,值是通过Request.ServerVariables[服务器变量名]获取的

  1. APPL_MD_PATH : /LM/W3SVC/894523/Root  
  2. APPL_PHYSICAL_PATH : D:\VssWorkFolder\British_School_MIS\src\WebSite\  
  3. INSTANCE_META_PATH : /LM/W3SVC/894523  
  4. LOCAL_ADDR : 192.168.1.6  
  5. PATH_INFO : /SysOption/BillingSetup1.aspx  
  6. PATH_TRANSLATED : D:\VssWorkFolder\British_School_MIS\src\WebSite\SysOption\BillingSetup1.aspx  
  7. REMOTE_ADDR : 192.168.1.6  
  8. REMOTE_HOST : 192.168.1.6  
  9. SCRIPT_NAME : /SysOption/BillingSetup1.aspx  
  10. SERVER_NAME : 192.168.1.6  
  11. URL : /SysOption/BillingSetup1.aspx 

Request.ServerVariables是一个很强大的工具,可以帮助我们获取很多client和web宿主的信息,有兴趣的朋友可以通过以下代码看看它到底包含什么信息

  1. foreach (string s in Request.ServerVariables)  
  2. {  
  3.     Response.Write(s + "  :  " + Request.ServerVariables[s] + "  
  4.  
  5.  

ASP.NET中的多种path转换

1.转换为服务器端路径(Server.MapPath)

web服务器端开发设计一个有趣的问题就是,地址转换。比如http地址/images/a.txt,如果你想在服务器端通过io读取这个文件,就得有这个文件的“本机地址(形如c:\windows\system32\xx.dll)”,这时Server.MapPath就很有用了

Response.Write(Request.MapPath(Request.Path));        输出为 D:\VssWorkFolder\British_School_MIS\src\WebSite\SysOption\BillingSetup1.aspx

2.转换为http地址(Page.ResolveClientUrl Page.ResolveUrl)

Response.Write(Page.ResolveClientUrl("~/a/a.jpg"));      输出为 ../a/a.jpg

Response.Write(Page.ResolveUrl("~/a/a.jpg"));              输出为 /a/a.jpg

ASP.NET中的多种path详解就介绍到这里。

本文来自zyip博客园中的文章《asp.net中的n种path

【编辑推荐】

  1. ASP.NET报表打印的实现:分页计算方式
  2. ASP.NET DataGrid自定义分页源程序
  3. ASP.NET分页代码的实现(C#,FCKeditor)
  4. ASP.NET基础语法概览
  5. ASP.NET安装步骤浅析
责任编辑:彭凡 来源: 博客园
相关推荐

2009-07-27 16:57:51

ASP.NET系列

2009-07-29 16:08:07

ASP和ASP.NET

2009-07-28 16:57:50

ASP.NET Ses

2009-08-05 11:14:33

ASP.NET ISA

2009-07-24 10:14:22

ASP.NET开发

2009-07-22 16:25:41

ASP.NET AJA

2009-07-23 13:19:51

2009-10-29 09:15:32

ASP.NET MVCDropDownLis

2009-07-27 14:50:24

ChartAreas控ASP.NET 3.5

2009-03-31 09:18:34

客户端内置对象ASP.NET

2009-07-23 13:09:23

2011-04-14 09:19:22

ASP.NET MVC

2009-03-13 09:48:33

ASP.NETAjaxJQuery

2009-07-28 13:39:44

加载ViewStateASP.NET

2009-08-04 10:43:59

ASP.NET控件开发

2009-08-19 13:44:00

ASP.NET Lis

2009-08-04 18:10:35

ASP.NET动态编译

2009-10-26 15:55:43

URL Routing

2010-02-03 09:50:58

ASP.NET MVC

2009-07-24 10:10:22

ASP.NET
点赞
收藏

51CTO技术栈公众号