<ASP.NET4 从入门到精通>学习笔记3
第三部分,状态管理与缓存
何为状态管理。起始对于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后,输出缓存的意义减少了,由于能够局部刷新。输出整个页的概念不大了。
<ASP.NET4 从入门到精通>学习笔记3的更多相关文章
- 《ASP.NET4从入门到精通》学习笔记2
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/dongdongdongJL/article/details/37610807 <ASP.N ...
- <ASP.NET4 从入门到精通>学习笔记1
非常久没有写东西了,今日有时间,開始整理一下关于ASP.NET 4的学习笔记.提醒自己,也欢迎评论. 概述一共分为6个大的部分,兴许文章.将依据每一个部分进行整理,本读书笔记仅仅是整理关键点,对于啰嗦 ...
- 《ASP.NET4 从入门到精通》学习笔记4
第4部分诊断与插件 刚開始看这章的时候,真实一头雾水.不知道在讲什么.只是看了关于http pipeline之后.才了解相关说明. 因此对于这一章的学习,建议各位首先看看http pipeline然后 ...
- 《Java从入门到精通》学习笔记(详细)
目录 03 Java语言基础 基本数据类型 变量与常量 运算符 类型转换 代码规范 标识符命名规范 常用输入输出 04 流程控制 条件语句 循环语句 循环控制 练习 05 字符串 创建字符串 连接字符 ...
- 7、ASP.NET MVC入门到精通——第一个ASP.NET MVC程序
本系列目录:ASP.NET MVC4入门到精通系列目录汇总 开发流程 新建Controller 创建Action 根据Action创建View 在Action获取数据并生产ActionResult传递 ...
- ASP.NET MVC4入门到精通系列目录汇总
序言 最近公司在招.NET程序员,我发现好多来公司面试的.NET程序员居然都没有 ASP.NET MVC项目经验,其中包括一些工作4.5年了,甚至8年10年的,许多人给我的感觉是:工作了4.5年,We ...
- 1、ASP.NET MVC入门到精通——新语法
本系列目录:ASP.NET MVC4入门到精通系列目录汇总 在学习ASP.NET MVC之前,有必要先了解一下C#3.0所带来的新的语法特性,这一点尤为重要,因为在MVC项目中我们利用C#3.0的新特 ...
- 5、ASP.NET MVC入门到精通——NHibernate代码映射
本系列目录:ASP.NET MVC4入门到精通系列目录汇总 上一篇NHibernate学习笔记—使用 NHibernate构建一个ASP.NET MVC应用程序 使用的是xml进行orm映射,那么这一 ...
- 6、ASP.NET MVC入门到精通——ASP.Net的两种开发方式
本系列目录:ASP.NET MVC4入门到精通系列目录汇总 目前,ASP.NET中两种主流的开发方式是:ASP.NET Webform和ASP.NET MVC.从下图可以看到ASP.NET WebFo ...
随机推荐
- UVA 658 It's not a Bug, it's a Feature!
这个题目巧妙之处在于用二进制的每个位1,0分别表示bug的有无,以及实施补丁对相应bug的要求以及实施后的对bug的影响. 软件bug的状态:1表示相应bug仍然存在,0表示已经修复.这样可以将软件的 ...
- UVA 515 King
差分约束系统的第一个题目,看了落花大神的博客后,对差分约束有了一定了解,关键在于建图,然后就是判断是否存在负权回路. 关于差分约束系统的解释详见维基百科:http://zh.wikipedia.org ...
- 浅谈HTTP中Get与Post的区别/HTTP协议与HTML表单(再谈GET与POST的区别)
HTTP协议与HTML表单(再谈GET与POST的区别) GET方式在request-line中传送数据:POST方式在request-line及request-body中均可以传送数据. http: ...
- 未来 USB Type-C 将可靠软体判断线材是否符合规定
USB Type-C 插头允许通过的电流和功率比过去常见的 USB 规范要大得多,因此从市面上「随便买一条」USB Type-C 的充电线的危险也同样大得多,毕竟不是所有的线材能承受的电流都一样,万一 ...
- 【Linux安全】chattr命令锁定账户敏感文件
有时候你发现用root权限都不能修改某个文件,大部分原因是曾经用chattr命令锁定该文件了.chattr命令的作用很大,其中一些功能是由Linux内核版本来支持的,不过现在生产绝大部分跑的linux ...
- 【HDOJ】1706 The diameter of graph
这么个简单的题目居然没有人题解.floyd中计算数目,同时注意重边. /* 1706 */ #include <iostream> #include <string> #inc ...
- SpeeDO —— 并行深度学习系统
SpeeDO —— 并行深度学习系统 摘要: 最近,AlphaGo又带起了一波深度学习的热潮.深度学习在很多领域都大幅提高了模型的精度,使得很多以前在实验室中的技术得以运用到日常的生活之中.然而, ...
- Android Root原理
概述:通过阅读本文可以深刻理解Android系统中获得Root权限的方法和原理.本文会详细介绍Root的目的,原理和代码层次的具体实现方法. Android Root介绍: 1. Root目的 手机获 ...
- Win32下 Qt与Lua交互使用(四):在Lua脚本中自由执行Qt类中的函数
话接上篇.通过前几篇博客,我们实现在Lua脚本中执行Qt类中函数的方法,以及在Lua脚本中连接Qt对象的信号与槽. 但是,我们也能发现,如果希望在Lua脚本中执行Qt类的函数,就必须绑定一个真正实现功 ...
- VS2010中的调试技巧
作者: scottgu 这是我的博客中关于VS 2010和.NET 4发布系列的第二十六篇文章. 今天的博文将介绍Visual Studio中的一些实用调试技巧.这是受我朋友Scott Cate (他 ...