• 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做登录



  • 相关阅读:
    XML与JSON的对比
    WPF dataGrid下的ComboBox的绑定
    WPF 导出Excel(合并单元格)
    WPF x:key和x:name用法
    WPF Canvas
    WPF Visibility属性用法
    AxInterop.ShockwaveFlashObjects.dll 问题
    BadImageFormatException,未能加载正确的程序集XXX的解决办法
    inner join ,left join ,right join区别
    Mac系统下php.ini的位置
  • 原文地址:https://www.cnblogs.com/thq1218/p/4539372.html
Copyright © 2020-2023  润新知