ASP.NET视频知识总结 chapter12

原创 2016年08月29日 23:15:16

1、应用程序状态的概念;

(1)状态的含义:

状态就是系统运行过程中的数据信息;

应用系统运行过程中需要的数据信息成为应用程序状态;

会话过程中需要的数据信息称为会话状态,一个客户会话包括客户开始使用系统到使用系统完成的整个过程;

对象生命周期需要的数据信息称为对象的状态(对象的状态可以使用成员变量表示);

(2)Http无状态的协议:

Http协议是无状态的;

页面只有有限的生命周期;
请求-应答,应答完成,页面也就销毁(只是对于的页面对象在内存中销毁,页面本身是不删除的);
在ASP.NET中,页面是通过对象来表示,页面的生命周期也就是页面对象(Page类的对象)的生命周期,因此页面对象只有有限的生命周期;
对象的状态信息(对象的成员变量)在对象销毁后即不存在;

eg:当再次单击按钮时,客户端再次向服务器发起请求这个页面,服务器会重新生成这个页面对象(和之前的是两个不同的页面对象,之前的那个旧的页面对象已经不存在了,已经被销毁了);Http是无状态的,两次单击提交按钮时(即两次提交页面时),第一次提交的页面属性值丢失。

(3)状态管理的重要性:

  • 存储状态信息的必要性:
    系统运行期间需要一些运行期间有效的数据信息;
    会话期间需要用户会话过程中的数据信息,比如购物车信息;
    页面之间需要传递数据;
  • ASP.NET状态管理:
    Http协议是无状态的;
    要完成状态管理需要采用ASP.NET状态管理方法

(4)ASP.NET状态管理技术:

服务器端状态管理技术:

  • 应用程序状态:Applicaion对象;
  • 会话状态:Session对象;
  • 页面之间的状态信息传递(信息传递):请求字符串;
  • 对象的缓存技术(延缓对象的生命周期,提高应用系统的性能);

客户端状态管理技术:

  • Cookie技术;
  • 隐藏域 ;

(5)ASP.NET客户端状态管理技术详解

主要介绍Cookie;

到底什么是Cookie?

Cookie:上网的过程中,很多网站会在我们的电脑上存储一些信息,这些信息就是Cookie;

Cookies用于在客户机上存储小段信息。Cookies是很小的文本文件,通常存储在此访问某个站点时使用的永久数据
这些数据可以是用户喜好、用户登录标记、用户上次浏览站点的时间等等。
简单地说,Cookies包含的信息允许Web服务器根据访问历史来识别用户。这样的信息只允许创建它们的站点读取。

Cookie是一个小文本文件,用户可以修改,因此用户可能发送一个欺骗服务器的Cookie;

Cookie是可以设置过期时间的;

使用Cookie进行用户的状态管理,只是用来存储一些不重要的信息,一些重要的信息不应该存储在客户端,应该存储在服务器端;

使用Cookie实现状态管理:

HttpCookie类提供创建和操作各 HTTP Cookie 的类型安全方法(一个Cookie用一个HttpCookie类对象表示,多个Cookie就用HttpCookieCollection类对象表示
HttpCookie 类获取和设置各 Cookie 的属性。
HttpCookieCollection类提供存储、检索和管理整个 Web 应用程序的所有 Cookie 的方法
Response对象和Request对象包含Cookies属性,该属性就是HttpCookieCollection类的实例
ASP.NET 代码使用内部的 Cookies 对象来创建 Cookie 并将其添加到 Cookie 集合中


案例:使用Cookie做网站访问次数统计;

(6)ASP.NET服务器端状态管理技术详解

会话级别、应用程序级别;

会话的全过程;

Session对象为内置对象,由ASP.NET自动创建,存储为键值对的集合,在整个会话期间均有效;


应用程序级别的状态管理:

公开对象的键值对,可以使用其来存储对象和与来自多个客户端的多个web请求相关的标量值;

任何客户端首次在特定 ASP.NET 应用程序的虚拟目录命名空间中请求 URL 资源时,都将创建 HttpApplicationState 类的实例;

应用程序状态的同步:

应用程序状态信息可能会被多个用户同时访问和修改,导致冲突发生,因此应用程序状态同步非常重要;

HttpApplicationState 类提供两种方法 Lock 和 Unlock,一次只允许一个线程访问应用程序状态变量
对 Application 对象调用 Lock 会导致 ASP.NET 阻止运行在其他辅助线程上的代码试图访问应用程序状态中的任何对象
只有当调用 Lock 的线程对 Application 对象调用相应的 Unlock 方法时才解除对这些线程的阻塞。


应用程序和会话过程中的事件:

全局类文件,事件处理程序放在应用程序专用的一个文件Global.asax中
,定义应用程序和会话过程中的事件;

事件框架默认生成,事件如下:

Application_Start
Application_End
Application_Error
Session_Start
Session_End


案例:网站计数;

(7)缓存技术

输出缓存、片段缓存、数据缓存



ASP.NET视频知识总结 chapter6

1、事件驱动编程的基本概念; 系统或者用户触发事件 -> ASP.NET获得事件执行命令 -> ASP.NET执行事件,并将结果返回给用户; 浏览器端事件,事件代码在浏览器端,js,vbscript等...

Chapter 12 ADO.NET Programming vb版

  • 2011年11月09日 20:39
  • 282KB
  • 下载

Chapter 12 ADO.NET Programming

  • 2011年11月09日 19:41
  • 283KB
  • 下载

ASP.NET视频学习总结

做完新闻发布系统后,对B/S的大致内容有了一个初步的了解。通过asp.net视频的学习,对其中涉及到的基础知识及web控件又多了几分了解。同时进一步对B/S开发与C/S开发之间的异同有了一些认识。 ...

[ASP.NET]视频总结

ASP.net视频最近过了一遍,但是心里总是空空的,所以总结就必不可少了。 【控件技术:】 1.基于web服务器     对于控件当然还有html控件、asp.net控件。而这里的控件就是我们常见...

asp.net天轰穿视频学习总结

天轰穿的100多集视频,大部分都比较短小,平均在20分钟一集。如果每天从早上看到晚上,4天准能看完。我看这些视频大概持续了13天(不统计不知道,一统计吓一跳,原来用了这么长时间( ⊙ o ⊙ )。。。...

【ASP.NET】视频总结

ASP.NET视频看完后,自己做了些笔记和具体的实践,但是没有系统的总结过,感觉知识很零散,下面总结一下:         【知识点】          1、概念           ASP.N...

[译]Pro ASP.NET MVC 3 Framework 3rd Edition (Chapter 20 JQuery) 1. Creating the Project 创建项目

Creating the Project  创建项目 To demonstrate the key jQuery features, we have created a simple MVC F...

[译]Pro ASP.NET MVC 3 Framework 3rd Edition (Chapter 20 JQuery) 3.Writing jQuery Code 编写jQuery代码

A couple of tools and techniques make learning and working with jQuery simpler. The first is Intelli...

Asp.net-知识总结(5)

1.回顾:上篇学习了 一般处理程序 上传图片 2.asp.net控件,页面/控件缓存 (1).asp.net控件    大多数应用于后台操作和系统操作,在使用的时候,需要多加练习,多查,从而了解控...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ASP.NET视频知识总结 chapter12
举报原因:
原因补充:

(最多只允许输入30个字)