在web服务器端开发中经常会遇到各种不同形式的path而且经常记不清楚如何获取到某种特定格式今天抽了点时间把常用的path获取方法与格式做了一个简单的对照表以备日后查用
Request获取的信息
RequestAppRelativeCurrentExecutionFilePath ~/SysOption/BillingSetupaspx
RequestApplicationPath /
RequestCurrentExecutionFilePath /SysOption/BillingSetupaspx
RequestFilePath /SysOption/BillingSetupaspx
RequestPath /SysOption/BillingSetupaspx
RequestPathInfo 什么都没有(待测其他用法)
RequestPhysicalApplicationPath D:\VssWorkFolder\British_School_MIS\src\WebSite\
RequestPhysicalPath D:\VssWorkFolder\British_School_MIS\src\WebSite\SysOption\BillingSetupaspx
RequestUserHostAddress
RequestUserHostName
RequestUrlToString() x?x=d
RequestUrlReferrer 空引用或者跳转源页面地址
RequestServerVariables集合中获取到的相关信息:
左列是服务器变量名右侧是值值是通过RequestServerVariables[服务器变量名]获取的
APPL_MD_PATH : /LM/WSVC//Root
APPL_PHYSICAL_PATH : D:\VssWorkFolder\British_School_MIS\src\WebSite\
INSTANCE_META_PATH : /LM/WSVC/
LOCAL_ADDR :
PATH_INFO : /SysOption/BillingSetupaspx
PATH_TRANSLATED : D:\VssWorkFolder\British_School_MIS\src\WebSite\SysOption\BillingSetupaspx
REMOTE_ADDR :
REMOTE_HOST :
SCRIPT_NAME : /SysOption/BillingSetupaspx
SERVER_NAME :
URL : /SysOption/BillingSetupaspx
RequestServerVariables是一个很强大的工具可以帮助我们获取很多client和web宿主的信息有兴趣的朋友可以通过以下代码看看它到底包含什么信息
foreach (string s in RequestServerVariables)
{
ResponseWrite(s + : + RequestServerVariables[s] + );
}
path转换
转换为服务器端路径(ServerMapPath)
web服务器端开发设计一个有趣的问题就是地址转换比如http地址/images/atxt如果你想在服务器端通过io读取这个文件就得有这个文件的本机地址(形如c:\windows\system\xxdll)这时ServerMapPath就很有用了
ResponseWrite(RequestMapPath(RequestPath)); 输出为 D:\VssWorkFolder\British_School_MIS\src\WebSite\SysOption\BillingSetupaspx
转换为http地址(PageResolveClientUrl PageResolveUrl)
ResponseWrite(PageResolveClientUrl(~/a/ajpg)); 输出为 /a/ajpg
ResponseWrite(PageResolveUrl(~/a/ajpg)); 输出为 /a/ajpg