ASP.Net 4.0 --- 基本对象(二)
来源:互联网 发布:烟台源代码软件怎么样 编辑:程序博客网 时间:2024/05/16 15:18
ASP.Net 基本对象
Asp.Net是一个庞大的软件体系,它提供了大量的对象类库,这些类库包含了许多封装好的内置对象,开发人员可以直接使用这些对象的方法和属性,只需较少的代码量就可以完成很多的功能。
Page类、Request类、Response类、Server对象主要用来链连接服务器和客户端浏览器之间的联系。
Cookie对象、Session对象、Application对象主要用于网站状态管理。
Page类
在ASP.NET Framework中,Page类为ASP.NET应用程序从.aspx文件构建的所有对象提供基本行为。该类在命名空间 System.Web.UI命名空间中定义,从TemplateControl中派生出来,实现了IHttpHandler接口。
Page类通常与扩展名为.aspx的文件相关联,这些文件在运行时被编译为Page对象,并被缓存在服务器内存中。
页面的工作过程:
说明:
①客户端浏览器向Web应用程序进行一个页面的请求。
②服务器端Web应用程序接收到这个请求,先查看这个页面是否被编译过,如果没有被编译过,就编译这个Web页面,然后对这个页面进行实例化产生一个Page对象。
③Page对象根据客户请求,把信息返回给IIS,然后信息由IIS返回给客户端浏览器。
④在这个过程中,每个页面都被编译成一个类,当有请求的时候就对这个类进行实例化。
⑤Page类是从System.Web.UI.TemplateControl类继承而来,而TemplateControl类继承自System.Web.UI.Control,它也是一种特殊的Control
属性
方法
事件
Request类
Request 对象是System.Web.HttpRequest类的实例。当用户在客户端使用Web浏览器向Web应用程序发出请求时,就会将客户端的信息发送到Web服务器。Web服务器就接收到一个HTTP请求,它包含了所有查询字符串参数或表单参数、Cookie数据以及浏览器的信息。在ASP.NET中运行时把这些客户端的请求信息封装成Request对象。
常用方法
①BinaryRead:执行对当前输入流进行指定字节数的二进制读取。
②MapImageCoordinates:将传入图像字段窗体参数影射为适当的x/y坐标值。
③MapPath:为当前请求将请求的URL中的虚拟路径映射到服务器上的物理路径。
④SaveAs:将HTTP请求保存到磁盘。
⑤ValidateInput:验证由客户端浏览器提交的数据,如果存在具有潜在危险的数据,则引发一个异常。
常用属性
Response类
Response对象是System.Web.HttpResponse类的实例,它封装了Web服务器对客户端请求的响应,用来操作HTTP相应的信息,用于将结果返回给请求者。虽然ASP.NET中控件的输出不需要我们去写HTML代码,但是在很多的时候我们希望能自己手动控制输出流,比如文件的下载、重定向等。
方法
属性
Server对象
Server对象是System.Web.HttpServerUtility类的实例,它包含了一些与服务器相关的信息。使用它可以获得有关最新的错误信息、对HTML文本进行编码和解码、访问和读写服务器端的文件等功能。
常用方法
常用属性
状态管理
ASP.NET程序和桌面程序一个显著的区别是:对于ASP.NET程序,无法保存程序运行的状态。由于这个原因,状态管理对于Web应用程序来说是非常重要的。
ASP.NET提供了多种状态管理的机制,包括Session对象、Application对象、Cookie对象和ViewState对象。
Session对象
ASP.NET采用一个具有120位的标识符来跟踪每一个Session。ASP.NET中利用专有算法来生成这个标识符的值,从而保证了(统计上的)这个值是独一无二的,这个特殊的标识符就被称为SessionID
Session对象实际上操作System.Web命名空间中的HttpSessionState类 。可以为每个用户的会话存储信息。Session对象中的信息只能被用户自己使用,而不能被网站的其他用户访问,因此可以在不同的页面间共享数据,但是不能在用户间共享数据。
利用Session进行状态管理是一个ASP.NET的显著特点。它允许程序员把任何类型的数据存储在服务器上。
SessionID是传播于网络服务器和客户端之间的唯一的一个信息。当客户端出示它的SessionID,ASP.NET找到相应的Session,从状态服务器里获得相应的序列化数据信息,从而激活该Session,并把它放到一个可以被程序所访问的集合里。为系统能够正常工作,客户端必须为每个请求保存相应的SessionID,获取某个请求的SessionID的方式有两种:
①使用Cookies。在这种情况下,当Session集合被使用时,SessionID被ASP.NET自动转化一个特定的Cookie(被命名为ASP.NET_SessionID)。
②使用改装的URL。在这种情况下,SessionID被转化一个特定的改装的URL。ASP.NET的这个新特性可以让程序员在客户端禁用Cookies时创建Session。
ASP.NET对于Session内容的存储也提供了多种的模式:
①InProc(默认):Session存储在IIS进程中(Web服务器内存)。InProc拥有最好的性能,但牺牲了健壮性和伸缩性。
②StateServe:Session存储在独立的Windows服务进程asp.net_state.exe中(可以不是Web服务器)。
③SqlServer:Session存储在SqlServer数据库的表中,可以用aspnet_regsql.exe配置它(SqlServer服务器)
常用方法
属性
事件
Cookie对象
Cookie对象是System.Web命名空间中HttpCookie类的对象。Cookie对象为Web应用程序保存用户相关信息提供了一种有效的方法。当用户访问某个的站点时,该站点可以利用Cookie保存用户首选项或其他信息,这样当用户下次再访问该站点时,应用程序就可以检索以前保存的信息。
当用户第一次访问某个站点时,Web应用程序发送给该用户一个页面和一个包含日期和时间的Cookie。用户的浏览器在获得页面的同时还得到了这个Cookie,并且将它保存在用户硬盘上的某个文件夹中。以后如果该用户再次访问这个站点上的页面,浏览器就会在本地硬盘上查找与该网站相关联的Cookie。如果Cookie存在,浏览器就将它与页面请求一起发送到网站,Web应用程序就能确定该用户上一次访问站点的日期和时间。
Cookie中保存的信息片断以“键/值”对的形式储存,一个“键/值”对仅仅是一条命名的数据。一个网站只能取得它放在用户的电脑中的信息,它无法从其它的Cookies文件中取得信息,也无法得到用户的电脑上的其它任何东西。
使用Cookies的优点可以归纳如下几点:
1可配置到期规则。Cookies可以在浏览器会话结束时到期,或者可以在客户端计算机上无限期存在。
2不需要任何服务器资源。Cookies存储在客户端并在发送后由服务器读取。
3简单性。Cookies是一种基于文本的轻量结构,包含简单的键值对。
4数据持久性。Cookies通常是客户端上持续时间最长的数据保留形式。
属性
方法
Application对象
Application对象是System.Web命名空间中的HttpApplicationState类的实例。Application对象为经常使用的信息提供了一个有用的Web站点存储位置,Application中的信息可以被网站的所有页面访问,因此可以在不同的用户间共享数据。
Application的原理是在服务器端建立一个状态变量,来存储所需的信息。要注意的是:首先,这个状态变量是建立在内存中的;其次是这个状态变量是可以被网站的所有页面访问的。
特点:
1数据可以在Application对象内部共享。
2一个Application对象包含事件,可以触发某些Applicatin对象脚本。
3个别Application对象可以用Internet Service Manager来设置而获得不同属性。
4单独的Application对象可以隔离出来在它们自己的内存中运行.
5可以停止一个Application对象(将其所有组件从内存中驱除)而不会影响到其他应用程序。
6一个网站可以有不止一个Application对象。典型情况下,可以针对个别任务的一些文件创建个别的Application对象。
7Application对象成员在服务器运行期间持久地保存数据。Application对象成员的生命周期止于关闭IIS或使用Clear方法清除。
8因为多个用户可以共享一个Application对象,所以必须要有Lock和Unlock方法,以确保多个用户无法同时改变某一属性。
属性
方法
小结:
类、对象、属性、方法、事件 是学习一种语言需要掌握的基础,不要对它们死记硬背,只需要大致的理清楚它们之间的关系,都有些那些内容,在实际使用中知道查询的方向,用两次就会融入我们的知识网络。我在积累新知探索的路上努力着,荣幸与您分享我的故事~
- ASP.Net 4.0 --- 基本对象(二)
- 【ASP.NET】基本对象
- Asp.net基本对象
- ASP.NET内置对象小结(二)
- Asp.net 页面基本对象
- ASP.NET之基本对象
- asp.net页面基本对象
- ASP.net常用对象之二(Response对象)
- ASP.NET Ajax学习笔记二(Ajax基本框架)
- ASP.NET页面基本对象
- 【ASP.NET】——基本对象
- ASP.NET基本对象的认识
- ASP.NET(二):Application、Session和Server对象
- ASP.NET小札(二)--HttpContext(请求上下文对象)
- Asp.net夜话之二:asp.net内置对象
- Asp.net夜话之二:asp.net内置对象
- Asp.net夜话之二:asp.net内置对象
- ASP.NET 点滴(二)
- 系统恢复
- Docker Mysql容器间数据简单迁移
- localStorage使用总结
- Maven学习 --- 常见变量解释 && 问题解决
- UVa679-Dropping Balls-小球下落-二叉树的编号
- ASP.Net 4.0 --- 基本对象(二)
- muduo源码学习(2)-Timestamp
- Anaconda,Python以及PyCharm的安装
- Billboard(线段树)
- Python简单绘图一
- 设计模式之单例模式
- WebForms UnobtrusiveValidationMode 需要“jquery”ScriptResourceMapping。请添
- 网桥、bond和team网络接口
- 【安卓学习之代码学习】 我的app通信过程(笔记)