关于cookie和session

cookie

1:一个cookie中可以存放的数据最大在4KB左右

2:cookie存放于客户端

3:cookie分为两种  一种是会话cookie  一种是持久cookie

会话cookie: 是一种临时的cookie,它记录了用户访问站点时的设置和偏好,关闭浏览器,会话cookie就被删除了

持久cookie: 存储在硬盘上,(不管浏览器退出,或者电脑重启,持久cookie都存在), 持久cookie有过期时间

session:

1:session存放于服务器端的内存中  session池

2:浏览器第一次访问seesion的死后给其赋值 那么session池中创建一个session对象 ,同时产生一个sessionId  以set-cookie               的形式返回给浏览器 ,浏览器将session保存其进程内存中

3:浏览器下次访问当前网站的任意页面时都会将sessionid发送给服务器 服务器在asp.net处理机制的第9个事件 和第10个事件

9,10个事件中的步骤:

a:判断当前页面是否有实现IRequiresSessionState接口

b:从cookie中获取sessionid从服务器的ssesion池中找到session对象

c:将session对象赋值给上下文的seesion属性

4:进程内session的缺点

a:当网站访问量过大的时候    会导致session池重启   然后session池中的session对象就会丢失了

5.0进程外session

a: 状态服务器(优点:速度快,缺点:也是不稳定)

b: 数据库(优点:比较稳定,缺点:每次访问sesion 都要访问db  频繁打开和关闭ado.net 也是比较消耗性能的)

关于cookie的用法

赋值:

 单个的形式:

HttpContext.Current.Response.Cookies["Email"].Value="soaeon@163.com";

HttpContext.Current.Response.Cookies["key"].Value="soaeon";

 以对象的形式来赋值:

HttpCookie cookie  =new HttpCookie("tempMsg");

cookie.Values["Email"] = "soaeon@163.com";

cookie.Values["key"] = "soaeon" ;

cookie.Domain = "soaeon.com";   //设置当前cookie所属于的域

cookie.Expires = (DateTime)expiresTime   //设置cookie的过期时间(持久cookie)

System.Web.HttpContext.Current.Response.Cookies.Set(cookie);

取值:

System.Web.HttpContext.Current.Request.Cookies["Email"].Value;

System.Web.HttpContext.Current.Request.Cookies["key"].Value;

或者:

HttpCookie cookie = System.Web.HttpContext.Current.Request.Cookies["tempMsg"];

string email = cookie.Values["Email"]; 
                      string key = cookie.Values["key"];

关于session的用法

赋值     Session["name"] = "soaeon@163.com";

取值

if (Session["name"] != null)
{
string str = Session["name"].ToString();

}

C#基础-->cookie和session的更多相关文章

  1. Django基础cookie和session

    Django基础cookie和session 1.会话跟踪 ​ 什么是会话!可以把会话理解为客户端与服务器之间的一次会晤,在一次会晤中可能会包含多次请求和响应.例如给10086打个电话,你就是客户端, ...

  2. Web基础 - Cookie与Session

    常用的调试以及抓包工具: Wireshark tcpdump fiddler 首先弄清楚几个概念,什么是cookie,什么是session,以及为什么会有这两个东东,这两个东东的作用是什么? 这里使用 ...

  3. cookie 和 session 的基础知识

    cookie 和 session 的基础知识 cookie 和session 的区别详解 这些都是基础知识,不过有必要做深入了解.先简单介绍一下. 二者的定义: 当你在浏览网站的时候,WEB 服务器会 ...

  4. 会话控制:cookie和session基础学习笔记

    在多次HTTP连接间维护用户与同一用户发出的不同请求之间关联的情况称为维护一个会话(session) 我们可以简单理解为浏览器的开关. 其实对cookie和session也是主要为curd操作 coo ...

  5. {Django基础八之cookie和session}一 会话跟踪 二 cookie 三 django中操作cookie 四 session 五 django中操作session

    Django基础八之cookie和session 本节目录 一 会话跟踪 二 cookie 三 django中操作cookie 四 session 五 django中操作session 六 xxx 七 ...

  6. 基础知识《十二》一篇文章理解Cookie和Session

    理解Cookie和Session机制 会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话.常用的会话跟踪技术是Cookie与Session.Cookie通过在客户端记录信息确定 ...

  7. IM开发基础知识补课(四):正确理解HTTP短连接中的Cookie、Session和Token

    本文引用了简书作者“骑小猪看流星”技术文章“Cookie.Session.Token那点事儿”的部分内容,感谢原作者. 1.前言 众所周之,IM是个典型的快速数据流交换系统,当今主流IM系统(尤其移动 ...

  8. C#基础知识之理解Cookie和Session机制

    会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话.常用的会话跟踪技术是Cookie与Session.Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端 ...

  9. day 62.3 Django基础八之cookie和session

    Django基础八之cookie和session   本节目录 一 会话跟踪 二 cookie 三 django中操作cookie 四 session 五 django中操作session 六 xxx ...

随机推荐

  1. 使用函数指针模拟C++多态

    #include <iostream> using namespace std; class Base { public : void display() { cout << ...

  2. java的继承 和super关键字 构造器

    面向对象的特性二继承: 继承的好处: 1.减少代码的冗余.提高了代码的复用性 2.便于功能的扩展 3.为之后多态的使用,提供了前提 继承的格式: class A extends B{} A:子类.派生 ...

  3. HashCode方法整理

    哈希表这个数据结构想必大多数人都不陌生,而且在很多地方都会利用到hash表来提高查找效率.在Java的Object类中有一个方法: 1 public native int hashCode(); 根据 ...

  4. 使用LoadRunner监控Apache

    前提本文使用的是lampp环境下自带的Apache服务 一.查看文件 查看文件确保目录中有Apache,我在这里使用的是用xampp自带apache [root@besttest ~]# ll 二.配 ...

  5. js基本函数和基本方法

    日期时间函数(需要用变量调用): var b = new Date(); //获取当前时间 b.getTime() //获取时间戳 b.getFullYear() //获取年份 b.getMonth( ...

  6. Notepad++中直接运行python

    点击进入幕布视图浏览 https://mubu.com/doc/a8VGCUfqqw 一.使用Notepad++编辑python文件,并直接运行 1.用notepad++打开python文件.或者新建 ...

  7. 15-python基础-元组

    1.元组的定义 Tuple(元组)与列表类似,不同之处在于元组不能修改. 元组表示多个元素组成的序列. 元组在python开发中,有特定的应用场景. 用于存储一串信息,数据之间使用,分割 元组用()定 ...

  8. 9、springcloud整合logback打印sql语句

    Logback是由log4j创始人设计的又一个开源日志组件.logback当前分成三个模块:logback-core.logback- classic和logback-access.logback-c ...

  9. springboot集成redis报错-ClassNotFoundException: org.apache.commons.pool2.impl.GenericObjectPoolConfig

    当使用Springboot 2.0以上版本集成redis的时候遇到报错信息如下: Application run failed org.springframework.beans.factory.Un ...

  10. 关于PCB的Mark点

    关于PCB的Mark PCB板子做好后,需要贴装元器件,现在元器件的贴装都是通过机器来完成的(SMT).SMT中会用到mark点. 一.什么是Mark点 Mark点也叫基准点或者光学定位点,为贴装工艺 ...