关于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. 四. jenkins部署springboot项目(1)--window环境

    前提:jenkins和springboot运行在同一台机器 springboot项目使用git和maven jenkins所需的插件如Maven,Git等这里就不再详述. 1.jenkins配置git ...

  2. 55、saleforce 学习笔记二

    String goodsName = 'abcd1123汉字显示';//测试文本 System.debug('简化后的字符串名称为:'+goodsName.abbreviate(5)); //返回简化 ...

  3. 发送邮件 django

    https://blog.csdn.net/qq_39138295/article/details/82527868 https://www.cnblogs.com/yoyoketang/p/1048 ...

  4. 实验吧关于隐写术的writeUp(一)

    0x01 Spamcarver 原题链接 http://www.shiyanbar.com/ctf/2002 1.用Hex workshop打开图片,图片的开头是 FF D8 ,这是jpeg格式的文件 ...

  5. sparkSQL获取DataFrame的几种方式

    sparkSQL获取DataFrame的几种方式 1. on a specific DataFrame. import org.apache.spark.sql.Column df("col ...

  6. Python列表推导式中使用if-else

    data_list=[] col=["a", "b", "c", "d"] jdata={"a":1 ...

  7. Codeforces 490D Chocolate

    D. Chocolate time limit per test 1 second memory limit per test 256 megabytes input standard input o ...

  8. Win7下设置一键关闭所有程序的功能

    (文章仅作个人整理和笔记) 在很多情况下,上班族发生这种情况的比较多吧,忙碌的一天下来,准备下班走人的时候,发现自己的电脑打开了好多程序,需要一个一个去关闭,那么有没有什么方法可以实现一键快速关闭所有 ...

  9. IIS 承载的服务失败

    如果 IIS 承载的某个服务失败,则可能会看到以下症状之一: 当浏览到 .svc 文件时,不能识别该文件,浏览器显示空白页,或显示文件的文本而不是服务的帮助页,如下面的示例所示.     <%@ ...

  10. linux开放指定端口命令

    方式一 CentOS: 1.开启防火墙      systemctl start firewalld 2.开放指定端口       firewall-cmd --zone=public --add-p ...