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对象的值
public static void SetCookie(string strCookieName, int iExpires ,string strValue) {
HttpCookie objCookie=new HttpCookie(strCookieName);
objCookie.Value=System.Web.HttpUtility.UrlEncode(strCookieName);
If(iExpires>=){
switch(iExpires>=){
case :
objCookie.Expires=DateTime.Now.AddDays();break;
case -:
objCookie.Expires=DateTime.MaxValue; break;
}
default:
if( iExpires>=)
objCookie.Expires=DateTime.Now.AddSeconds(iExpires);
else
objCookie.Expires=DateTime.Now.AddDays(iExpires); }
HttpContext.Current.Response.Cookie.Add(objCookie);
} 25 读取cookie
26 传入相同的名字就可以了。
27 读取cookie某个对象的value 如果不存在就返回字符串”“
public static string Getcookie(string strCookieName){
switch(HttpContext.Current.Request.Cookies[strCookieName] == null){
case true:
strCookieName= String.Empty; break;
case false:
strCookieName=System.Web.HttpUtility.UrlDecode(HttpContext.Current.Request.Cookies[strCookieName].Value);break;
}
return strCookieName;
}
最常用的就是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;
}
cookie 和 session 基本使用 以及 封装的更多相关文章
- 【转】Cookie和Session区别和联系详解
会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话.常用的会话跟踪技术是Cookie与Session.Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端 ...
- 理解Cookie和Session机制(转)
目录[-] Cookie机制 什么是Cookie 记录用户访问次数 Cookie的不可跨域名性 Unicode编码:保存中文 BASE64编码:保存二进制图片 设置Cookie的所有属性 Cookie ...
- Java cookie和session介绍与区别
一.cookie机制和session机制的区别 具体来说cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案. 同时我们也看到,由于才服务器端保持状态的 ...
- Django之Form、CSRF、cookie和session
Django是一个大而全的web框架,为我们提供了很多实用的功能,本文主要介绍Form.CSRF.cookie和session 一.Form 在web页面中form表单是重要的组成部分,为了数据安全和 ...
- Java——Cookie与Session
Cookie通过客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份. 1.Cookie 1.1概念及使用方法 Cookie实际上是一小段文本信息.客户端请求服务器,如果服务 ...
- 关于cookie的文章(cookie与session机制)
会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话.常用的会话跟踪技术是Cookie与Session.Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端 ...
- 【转】Cookie和Session的区别详解
转载地址:http://www.phperzone.cn/portal.php?aid=541&mod=view 一.cookie机制和session机制的区别 具体来说cookie机制采用的 ...
- python_way day19 HTML-day5 (form表单验证,CSRF,cookie,session,缓存)
python-way day19 1. dJango的form表单验证 2.CSRF 跨站请求伪造 3.cookie,session 4.缓存 一,django表单验证功能 1.django验证基础: ...
- 理解Cookie和Session机制
转载: 理解Cookie和Session机制 会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话.常用的会话跟踪技术是Cookie与Session.Cookie通过在客户端记录 ...
随机推荐
- Android窗口管理服务WindowManagerService计算窗口Z轴位置的过程分析
文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/8570428 通过前面几篇文章的学习,我们知道了 ...
- 16. Linux 文件目录权限
# 文件参数 d:表示是一个目录-:表示这是一个普通的文件l: 表示这是一个符号链接文件,实际上它指向另一个文件b.c:分别表示区块设备和其他的外围设备,是特殊类型的文件s.p:这些文件关系到系统的数 ...
- 如何在asp.net中如何在线播放各类视频文件
一.后台拼字符串动态加载写法 前台调用代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &q ...
- 上传图片预览,支持IE6
//说明:图片上传预览插件 //上传的时候可以生成固定宽高范围内的等比例缩放图 //参数设置: //width 存放图片固定大小容器的宽 //height 存放图片固定大小容器的高 //imgDiv ...
- asp.net mvc4 signalR后台自推送
1.在引用中添加signalr后首选要引入Startup.cs类,在VS2012中添加Signalr后没有Startup.cs类然后就会报错 代码如下 using System; using Syst ...
- python解释器内建函数002
001.dict 函数来创建字典 #!/usr/bin/python #!coding:utf-8 if __name__ == "__main__": dct001=dict(h ...
- windows平台使用Microsoft Visual C++ Compiler for Python 2.7编译python扩展
在windows平台上安装python c extension的扩展包是件很痛苦的事情,一般通过安装vc/vs系列来编译C扩展,不过安装包都比较大.或者通过mingw编译,不过有时会在兼容性上出现点问 ...
- wordpress教程之get_posts()
get_posts 介绍 June 3rd 2012 评论(16) get_posts 函数,简单的来讲是 get_post 的复数新形势,但因为是文章多篇提取,所以使用方法上却略有不同,支持众多参数 ...
- C和指针c6-1
#include<stdio.h> #include<stdlib.h> char *find_char(char const *source_str, char const ...
- Bulk-Only传输协议 UFI命令块规范
USB设备分为5大类,即显示器.通信设备.音频设备.人机输入和海量存储.通常所用的U盘.移动硬盘均属于海量存储类.海量存储类的规范中包括4个独立的子规范,即CBI传输.Bulk-Only传输.ATA命 ...