ASP.NET系统对象

时间:2022-11-28 16:13:52

一、ASP.NET 系统对象
        Request:用来获取客户端在Web请求期间发送的值,如URL参数,表单参数
        Response:用来负者返回到客户端的HTTP输出
        Application:作用于整个程序运行期的状态对象,可用来保存整个应用程序的配置参数
        Session:会话状态保持对象
        Cookie:客户端保持会话信息的方式
        Server:用于进行一些服务器端处理的工具对象,如URL编码解码,页面转发
        HttpContext:封装有关个别HTTP请求的所有HTTP特定的信息
二、Request对象
        string ContentType:获取或设置传入请求的MIME内容类型
        HttpCookieCollection Cookies:获取客户端发送的Cookie的集合
        HttpFileCollection Files:获取由客户端上载的文件的集合
        NameValueCollection Form:获取表单提交的数据
        NameValueCollection Headers:获取HTTP头集合
        NameValueCollection QueryString:获取HTTP查询字符串变量集合
        string RawUrl:获取当前请求的原始URL
        NameValueCollection ServerVariables:获取Web服务器变量的集合
        string UserAgent:获取客户端游览器的原始用户代理信息
        string UserHostAddress:获取远程客户端的IP主机地址
        string MapPath(stirng virtualPath):将指定的虚拟路径映射到物理路径
        void SaveAs(string filename,bool includeHeaders):将HTTP请求保存到磁盘
三、Response对象
        string ContentType:获取或设置输出流的HTTP MIME类型
        HttpCookieCOllection Cookies:获取响应Cookie集合
        NameValueCollection Headers:获取响应标头的集合
        void Redirect(string url):将请求重定向到新URL
        void Write(string s):将一个字符串写入HTTP响应输出流
四、Server对象
        string MapPath(string path):返回与Web服务器上的指定虚拟路径相对应的物理文件路径
        void Transfer(string path):使用指定的path进行页面转发
        string UrlDecode(string s):对字符串进行URL解码
        string UrlEncode(string s):对字符串进行URL编码
五、Session对象
        语法:Session["Session名称"]=值;    //存值
              变量=Session["Session名称"];    //取值
              
        string SessionID:包含唯一的用户会话标识符,它可用于在整个会话过程中记录用户信息
        int Timeout:用户超时的时间,单位为分钟
        void Abandon():结束Session,取消当前会话
        void Add(string name,object value):添加Session数据
        void Remove(string name):删除Session数据
        
        除了代码设置Timeout超时外,还可以使用web.config进行Session的配置

 <system.web>
<sessionState timeout="20" cookieless="true" mode="InProc"></sessionState>
<!--省略其他节点-->
</system.web>
<!-- cookieless="true":表示客户端的Session信息不依赖于Cookie,而是通过URL传递
   cookieless="false":表示客户端使用COokie保存SessionID
  mode:默认值为InProc 表示Session状态保持依赖于当前的ASP.NET进程
StateServer和SQLServer:可以将Session保存在状态服务器或数据库服务器上-->

六、Cookie对象
        语法:
        Response.Cookies[Cookie的名称].Value=变量值;    //写入Cookie
        string 变量名=Request.Cookies[Cookie的名称].Value;  //读取Cookie

Cookie所对应的类型是HttpCookie,所以添加新Cookie还有一种方法:
        HttpCookie hcCookie = new HttpCookie("Cookie的名称","值");
        Response.Cookies.Add(hcCookie);
        
        String Name:Cookie对象的名称
        String Value:Cookie对象的内容
        DateTime Expires:Cookie对象的有效时间,如果没有设置Cookie的有效日期,则保存到
                    关闭游览器程序为止,设置为DateTime.MaxValue表示Cookie永远不过期
七、Application对象
        语法:
        Application["Application名称"]=值;  //存值
        变量 = Application{"Application名称"];  //取值
八、HttpContext对象
        HttpApplicationState Application:Application对象
        HttpRequest Request:Request对象
        HttpResponse Response:Response对象
        HttpServerUtility Server:Server对象
        HttpSessionState Session:Session对象
        IPrincipal User:User对象
        System.Web.Caching.Cache Cache:Cache对象
        static HttpContext Current:为当前Http请求获取或设置System.Web.HttpContext对象
        
        eg:System.Web.HttpContext.Current.Response.Redirect("~/");