第三部分,状态管理与缓存

何为状态管理。起始对于web而言。经过前面章节的解说。已经理解,对于web程序,就是一个无状态的程序。每次的请求与每次的响应,两者之间本身就是独立存在的,这一点对于早期的静态网页来说。倒没什么。由于每次的请求和响应事实上都是固定不变的。可是到了动态网页时代,就不行了,web开发的非常大一部分工作将变为状态管理。这一点。可能举一个样例,最具有代表性,比方说购物车。那么对于购物车而言。就须要知道他的訪问者是谁?尽管他们可以在不同的页面切换。可是购物车不可以变化。此时就是一种状态管理。

(很多其它状态管理的场景,各位能够补充)

第14章会话状态

Session就是一种会话状态,统一浏览器在一段时间内訪问server之后,会产生一个24位的唯一SessionID,这个ID就标识了client的身份,尽管客户能够在不同的网页间切换。可是SessionID都是不变的。

Session的使用方法。Session是Page类的内部属性。然后直接採用KEY/VALUE模式直接使用。

Session的场景,分为两种:服务端和client

服务端:意思就是说Session所定义的须要缓存的变量的存储位置,能够存储在进程中,专有server,数据库

client:意思就是说SessionID的存储位置。能够使cookies。也能够是url其中(用于解决非cookie支持的浏览器)

Web.confg 中的<sessionState></sessionState>节用于完毕该部分的设置。

Session能够存储的数据类型。除了简单地数据类型以外。全部的能够序列化的类型都是客户存储的。

说明: page类的内置对象,有application,session,cache,request,response等,通常非常多人都是用application,session,cache来用作数据缓存。事实上他们是有差别的。

Application,是作为全局变量在使用。他在进程中,生命周期为应用程序生命周期。它越多占用内存越多。

Session。事实上它不不过存取一个变量,他存储的是一个会话内的变量。并且他会有sessionID来区分client,session存储变量不过他的一个间接实现功能。并且他能够存在进程,数据库,或者专用server中。

Cache,他是存储在进程中,生命周期是能够设置的,他有比較灵活的属性。包含过期时间。过期通知等等。他目的是完毕复杂对象的缓存处理。

第15章应用程序数据的缓存

Cache对象介绍,用法类似Session,目的是改善复杂变量的获取方式。提升web訪问的性能。

第16张输出缓存

刚開始看的时候,还真是没有特别理解什么叫做输出缓存,后来看了一下原来就是所谓的页面缓存,不同的书籍,叫法可能不同而已。为什么会存在页面缓存哪?本质目标是改善web訪问的性能,对于反复网页不要反复计算,减少server的压力,提升web应用的性能,因此从数据的角度缓存,产生了cache,从页面的角度产生了输出缓存,就是页面生成后,放在一个地方,然后每次请求直接返回该页面。

使用方法:就是在每一个页面头部使用<%@outputcache >指令,属性包含周期。依赖项等等。

说明:个人认为,仅仅从有了ajax后,输出缓存的意义减少了,由于能够局部刷新。输出整个页的概念不大了。

lt;ASP.NET4 从入门到精通gt;学习笔记3相关推荐

  1. 《ASP.NET4 从入门到精通》学习笔记4

    第4部分诊断与插件 刚開始看这章的时候,真实一头雾水.不知道在讲什么.只是看了关于http pipeline之后.才了解相关说明. 因此对于这一章的学习,建议各位首先看看http pipeline然后 ...

  2. oracle学习数据,Oracle从入门到精通的学习笔记

    本次知识点: 1.认识SQL的介绍 2.掌握scott用户的数据结构 3.查询语句之简单查询 1.SQL: SQL是指结构化查询语言,在80年代的时候,基本存在80多种数据库,每一种数据库都有自己的的 ...

  3. python从入门到精通-新手学习笔记-第五章 列表与元组

    一.序列概述 序列是按照一定顺序排列,用于存放多个值的连续内存空间.每个值都分配一个数字,被称为索引或位置.通过该索引取出对应的值. 序列结构主要有列表,元组,集合,字典,字符串.(集合与字典不支持索 ...

  4. 《ArcGIS Engine开发 从入门到精通》学习笔记1 地图的加载与保存。

    照着书上敲完了两个主要函数的代码,先mark一下,以备下次偷懒. using ESRI.ArcGIS.esriSystem; using ESRI.ArcGIS.Carto; private void ...

  5. 《C语言从入门到精通》学习笔记001-C语言概述

    第一章 C语言概述 1.1 程序语言的发展 1.机器语言:由"0"和"1"组成的二进制数组成的指令序列,是第一代计算机语言 2.汇编语言:用一些简洁的字母.符号 ...

  6. 《PHP从入门到精通》学习笔记之一

    php是什么? PHP是一种服务器端HTML-嵌入式脚本描述语言,其最强大的和最重要的特征是跨平台和面向对象.其独特的语法混合了C语言,java语言和perl语言的特点,是一种被广泛应用的开源式多用途 ...

  7. B站python教程“清华大佬终于把Python讲的如此清新脱俗!保姆级教程从入门到精通”视频学习笔记p1-p85

    1.python脚本的格式:hello.py 其中hello为脚本名,py为脚本格式,在终端可以用python hello.py进行脚本的执行 2.什么是头注释:不是为代码而服务,更多是被系统或解释器 ...

  8. ASP.NET MVC入门到精通——Spring.net-业务层仓储

    本系列目录:ASP.NET MVC4入门到精通系列目录汇总 上一节,我们已经把项目框架的雏形搭建好了,那么现在我来开始业务实现,在业务实现的过程当中,不断的来完善我们现有的框架. 1.假设我们来做一个 ...

  9. 16、ASP.NET MVC入门到精通——MVC过滤器

    本系列目录:ASP.NET MVC4入门到精通系列目录汇总 在ASP.NET MVC中有四种过滤器类型 Action 1.在ASP.NET MVC项目中,新建文件夹Filter,然后新建类MyCust ...

最新文章

  1. ORB-SLAM2从理论到代码实现(五):ORBmatcher.cc程序详解
  2. Google的系统工程师(SA)如何工作
  3. C#多态性的小记,父类,子类,虚方法,接口
  4. 网页设计精粹:网页中那些迷人的按钮设计
  5. 使用easyui框架form控件,单选按钮radio或复选框checkbox样式问题
  6. SESSION常见问题辑
  7. [js插件]JqueryUI日期插件
  8. 一键装机linux_(推荐)linux用一键安装包
  9. ComponentName
  10. 64. 合并排序数组 II
  11. matlab设计一个简单图像直方图均衡的GUI程序
  12. tts文字转语音_Android文字转语音(TTS)
  13. mysql里的数据输入窗口是哪个_WINDOWS下使用Mysql 中碰到的问题记录
  14. CSDN 空间:“迷你博客”很迷人(2)
  15. 微信小程序的统一服务消息 uniformMessage.send
  16. 开路电压法与电流积分法
  17. Moles(笛卡尔树 Z Algorithm)
  18. 通过西联快汇收取Google Adsense收入的详细步骤
  19. Halium 9 尝鲜 -- 在小米平板4上的移植 (二)
  20. Linux系统磁盘大小比raid小,挂载磁盘阵列柜后,显示的大小比实际小1TB

热门文章

  1. pandas 按日期范围筛选数据的实现
  2. throw和throw ex的区别
  3. 在ASP.NET MVC应用中开发插件框架(中英对照)
  4. Python实用笔记 (16)函数式编程——偏函数
  5. NHibernate 中删除数据的几种方法
  6. fedora常见问题和解决方案
  7. 《LeetCode力扣练习》剑指 Offer 11. 旋转数组的最小数字 Java
  8. 基于R语言构建的电影评分预测模型
  9. 直线和圆交点 halcon_初中数学三角形、四边形、圆辅助线的添加方法
  10. 职业梦想是计算机的英语作文,我的梦想职业英语作文