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 空引用或者跳轉(zhuǎn)源頁面地址
Request.ServerVariables集合中獲取到的相關(guān)信息:
左列是服務(wù)器變量名,右側(cè)是值,值是通過Request.ServerVariables[服務(wù)器變量名]獲取的
- APPL_MD_PATH : /LM/W3SVC/894523/Root
- APPL_PHYSICAL_PATH : D:\VssWorkFolder\British_School_MIS\src\WebSite\
- INSTANCE_META_PATH : /LM/W3SVC/894523
- LOCAL_ADDR : 192.168.1.6
- PATH_INFO : /SysOption/BillingSetup1.aspx
- PATH_TRANSLATED : D:\VssWorkFolder\British_School_MIS\src\WebSite\SysOption\BillingSetup1.aspx
- REMOTE_ADDR : 192.168.1.6
- REMOTE_HOST : 192.168.1.6
- SCRIPT_NAME : /SysOption/BillingSetup1.aspx
- SERVER_NAME : 192.168.1.6
- URL : /SysOption/BillingSetup1.aspx
Request.ServerVariables是一個很強大的工具,可以幫助我們獲取很多client和web宿主的信息,有興趣的朋友可以通過以下代碼看看它到底包含什么信息
- foreach (string s in Request.ServerVariables)
- {
- Response.Write(s + " : " + Request.ServerVariables[s] + "
- }
ASP.NET中的多種path轉(zhuǎn)換
1.轉(zhuǎn)換為服務(wù)器端路徑(Server.MapPath)
web服務(wù)器端開發(fā)設(shè)計一個有趣的問題就是,地址轉(zhuǎn)換。比如http地址/images/a.txt,如果你想在服務(wù)器端通過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.轉(zhuǎn)換為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》
【編輯推薦】