一、Request简介
Request对象是.net的内置对象之一,也是.net中常用的对象,用于获取客户端的信息,可以使用Request对象访问任何基于HTTP请求传递的所有信息。通过Request对象能够获得客户端发送给服务器的信息,不能将服务器端的数据发送给客户端的浏览器。
二、Request对象的作用
对于.net的内置对象之一Request,我将其在应用程序中所发挥的作用分为两种,第一种是通过Request对象,可以在服务器端获取当前访问该服务器的客户端(浏览器)的一些数据信息,第二种是在服务器端可以获取从html表单中用post或get方法传递的参数,当然也包括使用Ajax的post和get方法传递的参数。接下来我将结合实例对这两种作用进行一一概述。
通过Request,在服务器端获取客户端(浏览器)的数据信息
Request.UserHostAddress; 获取客户端的主机IP地址
Request.UserHostName; 获取客户端的DNS名称
Request.Url.Authority; 获取DNS主机名或IP和端口号 ------>localhost:4035
Request.RawUrl: 获取客户端请求的URL信息(不包括主机和端口) ------>/a/Default2.aspx
Request.ApplicationPath: 获取服务器上ASP.NET应用程序的虚拟路径。 ------>/
Request.CurrentExecutionFilePath: 获取当前请求的虚拟路径。 ------>/Default2.aspx
Request.Path: 获取当前请求的虚拟路径。 ------>/Default2.aspx
Request.PathInfo: 取具有URL扩展名的资源的附加路径信息 ------> Http://so.com/page.html/tail,则值为 /tail
Request.PhysicalPath: 获取与请求的URL相对应的物理文件系统路径。 ------>E:\temp\Default2.aspx
Request.Url : 获取完整url(协议名+域名+站点名+文件名+参数) ------>http://www.baidu.com/a/b?c=1
Request.Url.Host : 获取域名 (不包含端口) ------>www.baidu.com
Request.Url.Query : 获取参数(从?开始) ------> ?a=1&b=2
Request.Url.LocalPath: 站点名+文件名 ------>/Default2.aspx
Request.Url.AbsoluteUri: 获取基本url(不包含参数) ------>http://localhost:8080/Default2.aspx
Request.Url.AbsolutePath: 站点名+文件名 ----->/Default2.aspx
在使用Request时需要注意的是,比如想在另一个类库中获取当前request的信息,那么就需要将该Request通过参数传递到该类库中的某一个方法中,接收该参数的类型需使用HttpRequestBase。
参考文章:
http://www.cnblogs.com/190196539/archive/2011/12/13/2286072.html
http://blog.csdn.net/nc_star/article/details/51741007