NET系统对象

2019-05-03 22:34 来源:未知

1、Cookie和Session简介与区别

1、Cookie和Session简介与区别

一、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查询字符串变量集合
www.weide1946.com,        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的配置        

Session信息是存放在server端,但session id是存放在client cookie的,当然php的session存放方法是多样化的,这样就算禁用cookie一样可以跟踪

Cookie是完全保持在客户端的如:IE firefox 当客户端禁止cookie时将不能再使用
Session信息是存放在server端,但session id是存放在client cookie的,当然php的session存放方法是多样化的,这样就算禁用cookie一样可以跟踪

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

2、Cookie的配置与应用

2、Cookie的配置与应用

 

Setcookie(string name, string value, int expire,string path, string domain, int secure);
其中name是cookie变量名称标识,你在php中将能象使用普通变量名相同来用他引用cookie变量。value是cookie变量的初始值,expire 表示该cookie
变量的有效时间;path 为该cookie变量的相关路径;domain 表示cookie变量的网站;secure 则需在 https 的安全传输时才有效。 
    例如:SetCookie("Cookie", "cookievalue",time() 3600, "/forum", ".php100.com", 1);

3、Cookie的配置与应用

接收和处理Cookie
        PHP对Cookie的接收和处理的支持非常好,是完全自动的,跟FORM变量的原则一样,特别简单。比如设置一个名为MyCookier的Cookie,
        PHP会自动从WEB服务器接收的HTTP头里把它分析出来,并形成一个与普通变量一样的变量,名为$ myCookie,这个变量的值就是Cookie的值。
        数组同样适用。另外一个办法是引用PHP的全局变量$HTTP_COOKIE_VARS数组。
        分别举例如下:(假设这些都在以前的页面里设置过了,并且仍然有效)

        echo $MyCookie;
        echo $CookieArray[0];
        echo $_COOKIE["MyCookie"]; 
        echo $HTTP_COOKIE_VARS["MyCookie"];

4、Cookie的配置与应用

删除Cookie

要删除一个已经存在的Cookie,有两个办法:

1、SetCookie("Cookie", "");
2、SetCookie("Cookie", "value" , time()-1 / time() );

使用Cookie的限制

1、必须在HTML文件的内容输出之前设置;
2、不同的浏览器对Cookie的处理不一致,且有时会出现错误的结果。
3、限制是在客户端的。一个浏览器能创建的Cookie数量最多为30个,并且每个不能超过4KB,每个WEB站点能设置的Cookie总数不能超过20个。

5、Session的配置与应用

session_start();        //初始化session.需在文件头部

$_SESSION[name]=value;  //配置Seeeion

echo $_SESSION[name];    //使用session

isset($_SESSION[name]);   // 判断

unset($_SESSION[name]);   //删除

session_destroy();             //消耗所有session
Setcookie(string name, string value, int expire,string path, string domain, int secure);
其中name是cookie变量名称标识,你在php中将能象使用普通变量名相同来用他引用cookie变量。value是cookie变量的初始值,expire 表示该cookie
变量的有效时间;path 为该cookie变量的相关路径;domain 表示cookie变量的网站;secure 则需在 https 的安全传输时才有效。 
    例如:SetCookie("Cookie", "cookievalue",time() 3600, "/forum", ".php100.com", 1);

3、Cookie的配置与应用

接收和处理Cookie
        PHP对Cookie的接收和处理的支持非常好,是完全自动的,跟FORM变量的原则一样,特别简单。比如设置一个名为MyCookier的Cookie,
        PHP会自动从WEB服务器接收的HTTP头里把它分析出来,并形成一个与普通变量一样的变量,名为$ myCookie,这个变量的值就是Cookie的值。
        数组同样适用。另外一个办法是引用PHP的全局变量$HTTP_COOKIE_VARS数组。
        分别举例如下:(假设这些都在以前的页面里设置过了,并且仍然有效)

        echo $MyCookie;
        echo $CookieArray[0];
        echo $_COOKIE["MyCookie"]; 
        echo $HTTP_COOKIE_VARS["MyCookie"];

4、Cookie的配置与应用

删除Cookie

要删除一个已经存在的Cookie,有两个办法:

1、SetCookie("Cookie", "");
2、SetCookie("Cookie", "value" , time()-1 / time() );

使用Cookie的限制

1、必须在HTML文件的内容输出之前设置;
2、不同的浏览器对Cookie的处理不一致,且有时会出现错误的结果。
3、限制是在客户端的。一个浏览器能创建的Cookie数量最多为30个,并且每个不能超过4KB,每个WEB站点能设置的Cookie总数不能超过20个。

5、Session的配置与应用

session_start();        //初始化session.需在文件头部

$_SESSION[name]=value;  //配置Seeeion

echo $_SESSION[name];    //使用session

isset($_SESSION[name]);   // 判断

unset($_SESSION[name]);   //删除

session_destroy();             //消耗所有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("~/");

版权声明:本文由韦德娱乐1946_韦德娱乐1946网页版|韦德国际1946官网发布于网络编程,转载请注明出处:NET系统对象