cookie 和 session 基本使用 以及 封装

Cookie:

是一小段文本信息,用户请求页面的时候,在浏览器和服务器之间传递。用户每次访问的时候都会记录cookie,cookie里可以包含用户信息,浏览的历史记录等等;Cookie是由服务器端生成,但是它是属于客户端的,发送给User-Agent(一般是浏览器),浏览器会将Cookie的key/value保存到某个目录下的文本文件内,下次请求同一网站时就发送该Cookie给服务器(前提是浏览器设置为启用cookie)。

基本语法:

编写cookie
存:
---创建cookie对象,分配自定义cookie名称
HttpCookie mycookie =new HttpCookie(“ UserSettings”);用户自定义名称;
mycookie.values.add(“name1”,”value1”); 为cookie添加键值对
Mycookie.values.add(“name2 ”,”value2”);
换种写法  mycookie【“name1”】=“value1”;也是一样
mycookie.Expires=    DateTime.Now.AddDays(1d);过期时间设置为一天
Response.Cookies.Add(mycookie); 添加到cookie集合中去

注意的地方:不指定该 Cookie 的过期限制,则该 Cookie 将不会保留在客户端计算机上,当用户会话到期时该 Cookie 即到期。Cookie 仅能存储 String 类型的值。在将任何非字符串值存储到 Cookie 中之前,必须将它们转换为字符串
取:
if(Request.Cookies[“ UserSettings”]!=null){
string getVal=””;
if(Resquest.Cookies[“ UserSettings”][“name1”]!=null){
getVal=Resquest.Cookies[“ UserSettings”][“name1”];
}
}
//删除cookie
//只要把cookie设置成过期时间;
if (Request.Cookies["UserSettings"] != null)
{
    HttpCookie myCookie = new HttpCookie("UserSettings");
    myCookie.Expires = DateTime.Now.AddDays(-1d);
    Response.Cookies.Add(myCookie);
}

cookie封装成一个方法:

 1 创建cookie对象并且赋value,修改cookie的value值可以用这个方法;因为必须重新设过期时间
 2 strCookieName:  cookie 的对象名
 3 iExpires: cookie 的有效时间   0 代表一周, -1 代表永久 ,大于2小于60 代表天数  其他代表  分钟数
 4 strValue: cookie对象的值
 5 public static void  SetCookie(string strCookieName, int iExpires ,string strValue) {
 6 HttpCookie objCookie=new HttpCookie(strCookieName);
 7 objCookie.Value=System.Web.HttpUtility.UrlEncode(strCookieName);
 8 If(iExpires>=0){
 9 switch(iExpires>=0){
10 case 0:
11      objCookie.Expires=DateTime.Now.AddDays(7);break;
12 case -1:
13      objCookie.Expires=DateTime.MaxValue;    break;
14 }
15  default:
16 if( iExpires>=60)
17   objCookie.Expires=DateTime.Now.AddSeconds(iExpires);
18 else
19 objCookie.Expires=DateTime.Now.AddDays(iExpires);
20
21 }
22 HttpContext.Current.Response.Cookie.Add(objCookie);
23 }
24
25 读取cookie
26 传入相同的名字就可以了。
27 读取cookie某个对象的value 如果不存在就返回字符串”“
28 public static string Getcookie(string strCookieName){
29 switch(HttpContext.Current.Request.Cookies[strCookieName] == null){
30    case true:
31           strCookieName= String.Empty; break;
32    case false:
33                         strCookieName=System.Web.HttpUtility.UrlDecode(HttpContext.Current.Request.Cookies[strCookieName].Value);break;
34 }
35          return  strCookieName;
36 } 

最常用的就是session 了

选择封装

//存session的值
// 设置session的值
public static void SetSession(string name, object value){
 try{
        HttpContext.Current.Session[name]=value;
   }
catch(Exception ex ){
       WriteErrorLog(ex,”HelperError”)
   }
}
//错误日志
public static void WriteErrorLog(Exception ex,string ErroType){
if(ex==null)
return;
System.Text.StringBuilder  sbui=new StringBuilder();
string  datetime =DateTime.Now.ToString("yyyyMMddHHmmss_ffff");
            sbui.Append("错误等级:\r\n");
            sbui.Append(ErrorType);
            sbui.Append("\r\n错误的信息:\r\n");
            sbui.Append(ex.Message);
            sbui.Append("\r\n错误的堆栈:\r\n");
            sbui.Append(ex.StackTrace);
            sbui.Append("\r\n出错的方法名:\r\n");
            sbui.Append(ex.TargetSite.Name);
            sbui.Append("\r\n出错的类名:\r\n");
            sbui.Append(ex.TargetSite.DeclaringType.FullName);
            WriteErrorLog(sbui.ToString());
}
 //获取session的值  这个事可以取实体
public static object GetSession(string name){
     object  obj_Value=null;
     try{
         obj_Value=HttpContext.Current.Session[name];
     }
catch(Exception ex){
     obj_Value=null;
         WriteErrorLog(ex,”HelperError”);
}
 return obj_Value;

}
//这个取字符串
  public static string GetStringSession(string name) {
            string Str_Value = "";
            try {
                if (HttpContext.Current.Session[name] != null)
                    Str_Value = HttpContext.Current.Session[name].ToString();
            }
            catch (Exception ex) {
                Str_Value = String.Empty;
                WriteErrorLog(ex, "HelperError");
            }
            return Str_Value;
        }
时间: 2024-11-08 23:11:44

cookie 和 session 基本使用 以及 封装的相关文章

Cookie和Session

会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话.常用的会话跟踪技术是Cookie与Session.Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份. 本章将系统地讲述Cookie与Session机制,并比较说明什么时候不能用Cookie,什么时候不能用Session. Cookie机制 Cookie技术是客户端的解决方案,Cookie就是由服务器发给客户端的特殊信息,而这些信息以文本文件的方式存放在客户端,然后客户端每次向

cookie 和 session

会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话.常用的会话跟踪技术是Cookie与Session.Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份. 本章将系统地讲述Cookie与Session机制,并比较说明什么时候不能用Cookie,什么时候不能用Session. 1.1  Cookie机制 在程序中,会话跟踪是很重要的事情.理论上,一个用户的所有请求操作都应该属于同一个会话,而另一个用户的所有请求操作则应该属于另一个

【转】Cookie和Session的区别详解

转载地址:http://www.phperzone.cn/portal.php?aid=541&mod=view 一.cookie机制和session机制的区别 具体来说cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案. 同时我们也看到,由于才服务器端保持状态的方案在客户端也需要保存一个标识,所以session 机制可能需要借助于cookie机制来达到保存标识的目的,但实际上还有其他选择 二.会话cookie和持久cookie的区别 如果不设置

描述Cookie和Session的作用,区别和各自的应用范围,cookie、Session工作原理

一.cookie机制和session机制的区别 具体来说cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案. 同时我们也看到,由于在服务器端保持状态的方案在客户端也需要保存一个标识,所以session机制可能需要借助于cookie机制来达到保存标识的目的,但实际上还有其他选择.二.会话cookie和持久cookie的区别 如果不设置过期时间,则表示这个cookie生命周期为浏览器会话期间,只要关闭浏览器窗口,cookie就消失了.这种生命期为浏览

Java——Cookie与Session

Cookie通过客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份. 1.Cookie  1.1概念及使用方法 Cookie实际上是一小段文本信息.客户端请求服务器,如果服务器需要记录该用户状态,就使用response向客户端浏览器颁发一个Cookie.客户端浏览器会把Cookie保存起来,当浏览器再请求该网站时,把请求的网址连同该Cookie一同交给服务器.服务器检查该Cookie,以此来辨认用户状态.服务器还可以根据需要修改Cookie的内容. java中把Cook

Cookie和Session(转)

会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话.常用的会话跟踪技术是Cookie与Session.Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份. 1.1 Cookie机制 在程序中,会话跟踪是很重要的事情.理论上,一个用户的所有请求操作都应该属于同一个会话,而另一个用户的所有请求操作则应该属于另一个会话,二者不能混淆.例如,用户A在超市购买的任何商品都应该放在A的购物车内,不论是用户A什么时间购买的,这都是属于同一个会

cookie、Session工作原理

一.cookie机制和session机制的区别 具体来说cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案. 同时我们也看到,由于在服务器端保持状态的方案在客户端也需要保存一个标识,所以session机制可能需要借助于cookie机制来达到保存标识的目的,但实际上还有其他选择.二.会话cookie和持久cookie的区别 如果不设置过期时间,则表示这个cookie生命周期为浏览器会话期间,只要关闭浏览器窗口,cookie就消失了.这种生命期为浏览

理解Cookie和Session机制

转自:http://my.oschina.net/xianggao/blog/395675 会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话.常用的会话跟踪技术是Cookie与Session.Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份. 本章将系统地讲述Cookie与Session机制,并比较说明什么时候不能用Cookie,什么时候不能用Session. Cookie机制 Cookie技术是客户端的解决方案,Cooki

理解Cookie和Session机制(转)

目录[-] Cookie机制 什么是Cookie 记录用户访问次数 Cookie的不可跨域名性 Unicode编码:保存中文 BASE64编码:保存二进制图片 设置Cookie的所有属性 Cookie的有效期 Cookie的修改.删除 Cookie的域名 Cookie的路径 Cookie的安全属性 JavaScript操作Cookie 案例:永久登录 Session机制 什么是Session 实现用户登录 Session的生命周期 Session的有效期 Session的常用方法 Session