<ASP.NET4 从入门到精通>学习笔记3

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

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

(更多状态管理的场景,各位可以补充)

第14章会话状态

Session就是一种会话状态,统一浏览器在一段时间内访问服务器之后,会产生一个24位的唯一SessionID,这个ID就标识了客户端的身份,虽然客户可以在不同的网页间切换,但是SessionID都是不变的。

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

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

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

客户端:意思就是说SessionID的存储位置,可以使cookies,也可以是url当中(用于解决非cookie支持的浏览器)

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

Session可以存储的数据类型,除了简单地数据类型以外,所有的可以序列化的类型都是客户存储的。

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

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

Session,其实它不仅仅是存取一个变量,他存储的是一个会话内的变量,而且他会有sessionID来区分客户端,session存储变量只是他的一个间接实现功能。并且他可以存在进程,数据库,或者专用服务器中。

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

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

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

第16张输出缓存

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

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

说明:个人觉得,只从有了ajax后,输出缓存的意义降低了,因为可以局部刷新,输出整个页的概念不大了。

<ASP.NET4 从入门到精通>学习笔记3,布布扣,bubuko.com

时间: 07-11

<ASP.NET4 从入门到精通>学习笔记3的相关文章

&lt;ASP.NET4 从入门到精通&gt;学习笔记1

很久没有写东西了,今日有时间,开始整理一下关于ASP.NET 4的学习笔记,提醒自己,也欢迎评论. 概述一共分为6个大的部分,后续文章,将根据每个部分进行整理,本读书笔记只是整理关键点,对于啰嗦的内容一概省略. 第一部分,基础知识部分 我认为这个部分是这部书作为入门部分讲解比较深入和清楚地部分,对于ASP.NET,他的本质是web开发,不管是web form还是MVC,那么在进行web开发之前,首先就需要了解,为什么会出现ASP.NET,其实,在早期的时候,应该说是HTML和HTTP的天下,在计

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

第4部分诊断与插件 刚开始看这章的时候,真实一头雾水,不知道在讲什么,不过看了关于http pipeline之后,才了解相关说明.因此对于这一章的学习,建议各位首先看看http pipeline然后再进行学习. 第17章诊断与调测 该部分讲解了基本的调试方法,不过个人认为调测方法其实涉及到很多方面的内容,这章也只是大概介绍几个基本的方法. l  在页面启动 trace功能,然后在页面上就可以看到调用状态了. l  除此以外,还可以修改web.configtrace enable="true&qu

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

这个部分吗,可以说是这本书最最没有价值的部分,他自己的作者感觉都没有弄明白,就换乱介绍,而且介绍的不知所云!该部分,只是罗列的目的,建议大家不要细读这个部分的内容,浪费时间而且伤脑筋!(感慨:总是感觉国内的书,看着500多页,有含金量的太少了,大部分页面都是抽数的.可怜我的买书钱.) 第五部分,高级功能介绍 这部分的主要目的是介绍ASP.NET引入的新的技术方案,包括了AJAX,MVC,动态数据,XBAP,silverlight,WPF等等. 第20章动态数据 第21章 WPF 第22章 MVC

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

<ASP.NET4 从入门到精通>学习笔记2 第二部分  高级特性 第7章一致的界面 一致界面,一直以来都是界面设计的关键点,不同的网站,都需要一致的界面,否则的话,会出现不同的界面显示的凌乱或者给人很差的体验. 一致界面的设计方案,通常有如下三点: l  采用自定义空间的方式,也就是设计一个自定义控件,然后这个控件在每个页面都显示一下. l  父类继承的方式,也就是定义一个通用的父类,然后所有的子类都继承该父类 l  Master母版页模式,这个模式是ASP.NET2.0之后提出的来的,比较

Spark 从入门到精通学习笔记大纲

Spark 传奇行动目录 我把这个部份称之为Spark世界的[九阴真经],是 Spark学习者增强内功的首选地方. 第28课:Spark天堂之门解密 (点击进入博客)从 SparkContext 创建3大核心对象开始到注册给 Master 这个过程中的源码鉴赏 第29课:Master HA彻底解密 (点击进入博客)从 Master 如何基于 ZooKeeper 来做 HA 的源码鉴赏 第30课:Master的注册机制和状态管理解密 (点击进入博客)从 Master 的角度去分析它是如何接收 Wo

ASP.NET MVC4入门到精通系列目录汇总(转)

序言 最近公司在招.NET程序员,我发现好多来公司面试的.NET程序员居然都没有 ASP.NET MVC项目经验,其中包括一些工作4.5年了,甚至8年10年的,许多人给我的感觉是:工作了4.5年,Web开发依旧停留在拖控件的水平,最最基本的算 法,递归.排序(我不要求快速排序,你会冒泡就行了)都不会,数据库方面,很基础的SQL都写不出,分组过滤也不会,更别提性能了,问下数据优化经验,除 了回答加索引基本就没下文了.当然,一些过去N年都是做ASP.NET WebForm开发的,不熟悉MVC,那也没

26、ASP.NET MVC入门到精通——后台管理区域及分离、Js压缩、css、jquery扩展

本系列目录:ASP.NET MVC4入门到精通系列目录汇总 有好一段时间没更新博文了,最近在忙两件事:1.看书,学习中...2.为公司年会节目做准备,由于许久没有练习双截棍了,难免生疏,所以现在临时抱佛脚.深圳最近的天气反常,许多人感冒了,我也成为其中之一,大家注意身体... 这一篇,我来简单的讲一下接下来项目中会用到的一些杂七杂八的技术. 区域及分离 在15.ASP.NET MVC入门到精通——MVC-路由中,我已经简要说明了区域的分离. 1.右键单击Web项目,“添加”——“区域”,区域名,

ASP.NET MVC4入门到精通系列目录汇总

http://www.cnblogs.com/jiekzou/p/4772273.html ************************ 序言 最近公司在招.NET程序员,我发现好多来公司面试的.NET程序员居然都没有 ASP.NET MVC项目经验,其中包括一些工作4.5年了,甚至8年10年的,许多人给我的感觉是:工作了4.5年,Web开发依旧停留在拖控件的水平,最最基本的算 法,递归.排序(我不要求快速排序,你会冒泡就行了)都不会,数据库方面,很基础的SQL都写不出,分组过滤也不会,更别

22、ASP.NET MVC入门到精通——搭建项目框架

本系列目录:ASP.NET MVC4入门到精通系列目录汇总 前面的章节,说了ASP.NET MVC项目中常用的一些技术和知识点,更多的是理论上面的东西,接下来,我将通过一个简单的OA项目来应用我们之前涉及到的一些技术,为了兼顾初学者,所以我尽量把操作步骤说得足够详细.(本来想用VS2015来演示MVC5开发的,无奈家里的笔记本是11年2月份的老爷机了,一直未曾舍得换,因为配置的缘故,笔记本不堪负重,难以安装最新版本的开发工具,只装了VS2012,当然,还有一个原因就是现在公司也是使用VS2012