zoukankan      html  css  js  c++  java
  • WEBFORM--第二讲

    所有的Web程序都是无状态的。
    原因:它们使用的Http传输协议本身就是无状态的协议。
    表现:每个返回到客户的页面,都与之前或之后的页面不相关,无法访问之前页面的数据,或为之后页面送数据。
    解决:在服务端或客户端通过使用几个对象来专门存储相关状态的数据。

    存储在服务端的状态对象
    Session:
    每个独立的浏览器会创建一个独立的Session ,不是一台电脑一个Session。
    Session存储的数据,在当前会话中共享。
    Session在20分钟之内,如果没有会话操作,则Session会自动释放。
    语法:
    1.用Session存值:Session["key名"] = 值; 值,不只是个字符串,可以是对象。
    2.从Session取值:类型 变量名 = (强制转换的类型名)Session["key名"]
    3.判断Session中是否存有某个值

    4.释放Session
    释放某个Session:Session["key名"] = null;
    释放会话中的所有的Session:Session.Clear();
    自动释放:20分钟

    案例:
    1.登录:防止绕过登录界面。


    2.登录:把用户名记好。在每个界面上显示“欢迎您:用户名”

    Application
    所有会话共享一个Application空间,任何一个人改变Applciation中的内容,其它人都会发现被改变了。
    Application中的数据不会自动释放。
    1.用Application存值:Application["key名"] = 值; 值,不只是个字符串,可以是对象。
    2.从Application取值:类型 变量名 = (强制转换的类型名)Application["key名"]
    3.判断Application中是否存有某个值
    if(Application[“key名”] == null)
    {

    }
    4.释放Application:Application["key名"] = null;

    存储在客户端(硬盘上的)的状态对象:
    Cookie
    保存在客户端内存或硬盘般上的。
    临时Cookie是存在浏览器内存中的。持久Cookie是存在硬盘上浏览器相关的Cookie目录中的。

    设置Cookie
    Response.Cookies["key名"].Expires = 过期时间。
    Response.Cookies["key名"].Value = 值。

    读取Cookie
    string s = Request.Cookies["key名"].ToString();

    会写入临时Cookie,持久Cookie;会读取Cookie;会删除Cookie。

    用cookie做登录



  • 相关阅读:
    js正则还原和转义特殊字符
    element表格鼠标悬浮上带有点击事件的变红-:row-class-name
    elemen-table表格数据转换-formatter属性
    SVN的安装及汉化的
    element中关于input框
    VUE之兄弟组件 $emit和$on、$bus的用法
    关于element表单校验(二)
    关于element表单校验(一)
    element表格里数据处理
    各类手册收藏整理
  • 原文地址:https://www.cnblogs.com/thq1218/p/4539372.html
Copyright © 2011-2022 走看看