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

何为状态管理。起始对于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从入门到精通》学习笔记2

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/dongdongdongJL/article/details/37610807   <ASP.N ...

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

    非常久没有写东西了,今日有时间,開始整理一下关于ASP.NET 4的学习笔记.提醒自己,也欢迎评论. 概述一共分为6个大的部分,兴许文章.将依据每一个部分进行整理,本读书笔记仅仅是整理关键点,对于啰嗦 ...

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

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

  4. 《Java从入门到精通》学习笔记(详细)

    目录 03 Java语言基础 基本数据类型 变量与常量 运算符 类型转换 代码规范 标识符命名规范 常用输入输出 04 流程控制 条件语句 循环语句 循环控制 练习 05 字符串 创建字符串 连接字符 ...

  5. 7、ASP.NET MVC入门到精通——第一个ASP.NET MVC程序

    本系列目录:ASP.NET MVC4入门到精通系列目录汇总 开发流程 新建Controller 创建Action 根据Action创建View 在Action获取数据并生产ActionResult传递 ...

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

    序言 最近公司在招.NET程序员,我发现好多来公司面试的.NET程序员居然都没有 ASP.NET MVC项目经验,其中包括一些工作4.5年了,甚至8年10年的,许多人给我的感觉是:工作了4.5年,We ...

  7. 1、ASP.NET MVC入门到精通——新语法

    本系列目录:ASP.NET MVC4入门到精通系列目录汇总 在学习ASP.NET MVC之前,有必要先了解一下C#3.0所带来的新的语法特性,这一点尤为重要,因为在MVC项目中我们利用C#3.0的新特 ...

  8. 5、ASP.NET MVC入门到精通——NHibernate代码映射

    本系列目录:ASP.NET MVC4入门到精通系列目录汇总 上一篇NHibernate学习笔记—使用 NHibernate构建一个ASP.NET MVC应用程序 使用的是xml进行orm映射,那么这一 ...

  9. 6、ASP.NET MVC入门到精通——ASP.Net的两种开发方式

    本系列目录:ASP.NET MVC4入门到精通系列目录汇总 目前,ASP.NET中两种主流的开发方式是:ASP.NET Webform和ASP.NET MVC.从下图可以看到ASP.NET WebFo ...

随机推荐

  1. 排序算法-冒泡排序(Bubble Sort)

    package com.wangzhu.sort; /** * 冒泡排序算法 * @ClassName: BubbleSort * @Description: TODO * @author wangz ...

  2. c/c++ 重载 数组 操作符[] operator[ is ambiguous, as 0 also mean a null pointer of const char* type.

    // Note: //int x = a[0].GetInt(); // Error: operator[ is ambiguous, as 0 also mean a null pointer of ...

  3. Win32下 Qt与Lua交互使用(三):在Lua脚本中connect Qt 对象

    话接上文.笔者为了方便使用Lua,自己编写了一个Lua的类.主要代码如下: QLua.h #ifndef QLUA_H #define QLUA_H // own #include "inc ...

  4. iis 5.1 连接 sql 2005

    VS2005+SQL2005 ASP.NET2.0数据库连接总结 通过上篇文章(http://www.cnblogs.com/user34j/archive/2007/01/23/628426.htm ...

  5. 用css控制cellspacing、cellpadding

    用css控制cellspacing.cellpadding 发表于 2006 年 12 月 24 日 由 Silbo 在table中控制单元格之间的间距要用到cellspacing.cellpaddi ...

  6. CSS clip:rect矩形剪裁功能及一些应用介绍

    CSS clip:rect矩形剪裁功能及一些应用介绍 by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.co ...

  7. F(x)

    Problem Description For a decimal number x with n digits (AnAn-1An-2 ... A2A1), we define its weight ...

  8. 曲面Shader

    这是一个能让平面呈现出曲面效果的Shaer. 代码: Shader "Custom/CurvedWorld"{ Properties { // Diffuse texture _M ...

  9. [codevs1557]热浪

    本题地址:http://www.luogu.org/problem/show?pid=1339 http://codevs.cn/problem/1557/ http://www.tyvj.cn/p/ ...

  10. Java笔记(二十二)……Collection集合

    概述 为什么会出现集合类 面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,就对对象进行存储,集合就是存储对象最常用的一种方式 数组和集合类同是容器,有何不同 数组虽然也可以存储 ...