ASP.NET提供了大量的对象类库,在这些类库中包含了许多封装好的内置对象,我们只需要直接使用这些对象的方法和属性,就能简单快速地完成很多的功能。Request对象、Response对象和Serve对象主要用来连接服务器和客户端浏览器之间的联系。Cookie对象、Session对象和Application对象则主要用于网站状态管理。

(1)Response对象

  Response对象可以动态的响应客户端的需求,并将动态生成的响应结果返回给客户端浏览器。Respose对象可以实现很多功能,如向客户端输出数据、跳转网页等。

  Response对象的常用方法 :

    1.BinaryWrite:将一个二进制字符串写入HTTP输出流。

    2.Clear:清除缓冲区流中的所有内容输出。

    3.Close:关闭到客户端的套接字连接。

    4.End:将当前所有缓冲的输出发送到客户端,停止该页的执行,并引发 Application_EndRequest 事件。

    5.Flush:向客户端发送当前所有缓冲的输出。

    6.Redirect:将客户端重定向到新的 URL。Write将信息写入 HTTP 输出内容流。

    7.Write:将信息写入HTTP输出内容流。

    8.WriteFile将指定的文件直接写入HTTP内容输出流。

(2)Request 对象

  Request 对象是System.Web.HttpRequest类的实例。当用户在客户端使用Web浏览器向Web应用程序发出请求时,就会将客户端的信息发送到Web服务器。Web服务器就接收到一个HTTP请求,它包含了所有查询字符串参数或表单参数、Cookie数据以及浏览器的信息。在ASP.NET中运行时把这些客户端的请求信息封装成Request对象。

  Request对象的常用方法 :

    1.BinaryRead:执行对当前输入流进行指定字节数的二进制读取。

    2.MapImageCoordinates:将传入图像字段窗体参数影射为适当的x/y坐标值。

    3.MapPath:为当前请求将请求的URL中的虚拟路径映射到服务器上的物理路径。

    4.SaveAs:将HTTP请求保存到磁盘。

    5.ValidateInput:验证由客户端浏览器提交的数据,如果存在具有潜在危险的数据,则引发一个异常。

(3)Server对象

  Server对象是System.Web.HttpServerUtility类的实例,它包含了一些与服务器相关的信息。使用它可以获得有关最新的错误信息、对HTML文本进行编码和解码、访问和读写服务器端的文件等功能。

  Server对象的属性 :

    1.MachineName:获取服务器的计算机名称。

    2.ScriptTimeout:获取或设置请求超时值(以秒计)。

(4)Session对象

  Session对象实际上操作System.Web命名空间中的HttpSessionState类 。

  Session对象可以为每个用户的会话存储信息。

  Session对象中的信息只能被用户自己使用,而不能被网站的其他用户访问,因此可以在不同的页面间共享数据,但是不能在用户间共享数据。利用Session进行状态管理是一个ASP.NET的显著特点。它允许程序员把任何类型的数据存储在服务器上。

  SessionID是传播于网络服务器和客户端之间的唯一的一个标识信息。当客户端出示它的SessionID,ASP.NET找到相应的Session,从状态服务器里获得相应的序列化数据信息,从而激活该Session,并把它放到一个可以被程序所访问的集合里。

  为了系统能够正常工作,客户端必须为每个请求保存相应的SessionID,获取某个请求的SessionID的方式有两种:

    1)使用Cookies。在这种情况下,当Session集合被使用时,SessionID被ASP.NET自动转化为一个特定的Cookie(被命名为ASP.NET_SessionID)。

    2)使用改装的URL。在这种情况下,SessionID被转化一个特定的改装的URL。ASP.NET的这个新特性可以让程序员在客户端禁用Cookies时创建Session。

  ASP.NET对于Session内容的存储也提供了多种的模式:

    1)InProc(默认):Session存储在IIS进程中(Web服务器内存)。InProc拥有最好的性能,但牺牲了健壮性和伸缩性。

    2)StateServe:Session存储在独立的Windows服务进程asp.net_state.exe中(可以不是Web服务器)。

    3)SqlServer:Session存储在SqlServer数据库的表中,可以用aspnet_regsql.exe配置它(SqlServer服务器)。

(5)Cookie对象

  Cookie对象为Web应用程序保存用户相关信息提供了一种有效的方法。当用户访问某个的站点时,该站点可以利用Cookie保存用户首选项或其他信息,这样当用户下次再访问该的站点时,应用程序就可以检索以前保存的信息。

  当用户第一次访问某个站点时,Web应用程序发送给该用户一个页面和一个包含日期和时间的Cookie。用户的浏览器在获得页面的同时还得到了这个Cookie,并且将它保存在用户硬盘上的某个文件夹中。以后如果该用户再次访问这个站点上的页面,浏览器就会在本地硬盘上查找与该网站相关联的Cookie。如果Cookie存在,浏览器就将它与页面请求一起发送到网站,Web应用程序就能确定该用户上一次访问站点的日期和时间。

  Cookie中保存的信息片断以“键/值”对的形式储存,一个“键/值”对仅仅是一条命名的数据。一个网站只能取得它放在用户电脑中的信息,它无法从其他的Cookies文件中取得别的信息,也无法得到用户电脑上的其他任何东西。

  使用Cookies的优点可以归纳如下几点:

    1.可配置到期规则。Cookies可以在浏览器会话结束时到期,或者可以在客户端计算机上无限期存在。

    2.不需要任何服务器资源。Cookies存储在客户端并在发送后由服务器读取。

    3.简单性。Cookies是一种基于文本的轻量结构,包含简单的键值对。

    4.数据持久性。Cookies通常是客户端上持续时间最长的数据保留形式。

  Cookies对象的属性:

    1.Domain:获取或设置将此Cookies与其关联的域。

    2.Expires:获取或设置此Cookie的过期日期和时间。

    3.Name:获取或设置Cookies的名称。

    4.Path:获取或设置输出流的HTTP字符集。

    5.Secure:获取或设置一个值,该值指示是否通过SSL(即仅通过HTTPS)传输Cookie。

    6.Value:获取或设置单个Cookies值。

    7.Values:获取在单个Cookies对象中包含的键值对的集合。

  Cookies对象的方法 :

    1.Add:添加一个Cookies变量。

    2.Clear:清除Cookies集合中的变量。

    3.Get:通过索引或变量名得到Cookies变量值。

    4.GetKey:以索引值获取Cookies变量名称。

    5.Remove:通过Cookies变量名称来删除Cookies变量。

  对象Request和Response都提供了一个Cookies集合。可以利用Response对象设置Cookies的信息,而使用Request对象获取Cookies的信息。

  删除Cookie是修改Cookie的一种形式。由于Cookie位于用户的计算机中,所以无法直接将其删除。但可以让浏览器来删除Cookie。将其有效期设置为过去的某个日期,就会删除这个已过期Cookie。删除一个Cookie就是利用一个过期的Cookie来代替它。

(6)Application对象

  Application对象是System.Web命名空间中的HttpApplicationState类的实例。

  Application对象为经常使用的信息提供了一个有用的Web站点存储位置,Application中的信息可以被网站的所有页面访问,因此可以在不同的用户间共享数据。

  Application的原理是在服务器端建立一个状态变量,来存储所需的信息。要注意的是,首先,这个状态变量是建立在内存中的,其次是这个状态变量是可以被网站的所有页面访问的。

  Application对象具有的特点:

    1.数据可以在Application对象内部共享。

    2.一个Application对象包含的事件,可以触发某些Applicatin对象脚本。

    3.个别Application对象可以用Internet Service Manager来设置而获得不同属性。

    4.单独的Application对象可以隔离出来,在它们自己的内存中运行.

    5.可以停止一个Application对象而不会影响到其他应用程序。

    6.一个网站可以有不止一个Application对象。

    7.Application对象成员在服务器运行期间持久地保存数据。其生命周期终止于关闭IIS或使用Clear方法清除。

    8.因为多个用户可以共享一个Application对象,所以必须要有Lock和Unlock方法,以确保多个用户无法同时改变某一属性。

  Application对象的属性 :

    1.AllKeys:获取HttpApplicationState集合中的访问键。

    2.Count:获取HttpApplicationState集合中的对象数。

(7)ViewState对象

  ViewState是一种机制,ASP.NET使用这种机制来跟踪服务器控件状态值,否则这些值就不作为HTTP窗体的一部分而回传。

  ViewState是由ASP.NET框架管理的一个隐藏的窗体字段。当ASP.NET执行某个页面时,该页面上的ViewState值和所有控件将被收集并格式化成一个编码字符串,然后被分配给隐藏窗体字段的值属性。由于隐藏窗体字段是发送到客户端的页面的一部分,所以ViewState值被临时存储在客户端的浏览器中。如果客户端选择将该页面会传给服务器,则ViewState字符串也将被会传。

  ViewState提供了一个ViewState集合属性。该集合属性是集合类的一个实例,集合类是一个键值集合,程序员可以通过键来为ViewState增加或者去除项。

 

    

ASP.NET内置对象一的更多相关文章

  1. 初识 Asp.Net内置对象之Response对象

    Response对象 Respose对象用于将数据从服务器发送回浏览器.它允许将数据作为请求的结果发送到浏览器,并提供有光响应的信息,可以用来在页面中输入数据,在页面中跳转,还可以传递各个页面的参数, ...

  2. Asp.net内置对象用途说明

    Asp.net 内置对象 1.Session当客户第一次请求网页,session创建.当客户最后一次请求页面,一段时间后,session销毁.默认30分钟. 一般存用户信息,即登陆成功后,在sessi ...

  3. 【ASP.NET 基础】ASP.NET内置对象

    准确地说,asp.net 并没有内置对象这一说,jsp 里确实把 request.response 这些当作 jsp 的内置对象,这里只不过是借用了一下 jsp 的说法而已.在 Web 中处于中心的是 ...

  4. ASP.NET内置对象详解

    ASP.NET的内置对象介绍 1.Response 2.Request 3.Server 4.Application 5.Session 6.Cookie Request对象主要是让服务器取得客户端浏 ...

  5. 初识 Asp.Net内置对象之Server对象

    Server对象 Server对象定义了一个于Web服务器相关联的类提供对服务器上的方法和属性的访问,用于访问服务器上的资源. Server对象的常用属性 属性   MarhineName 获取服务器 ...

  6. ASP.NET内置对象

    ASP.NET中有六个内置对象 Response:向客户端输出信息或设置客户端输出状态. Request:获取客户端信息. Server:访问服务器的方法和属性. Application:用于将信息保 ...

  7. ASP.NET 内置对象涉略

    一.ASP.NET中内置的常用对象的介绍 本文列举了ASP.NET 的八个内置对象,其中前五个是比较常用的. 1.Response Response 对象用于从服务器向用户发送输出的结果. Write ...

  8. 2017-5-22 ASP六大 内置对象

    ASP内置对象:提供内建对象,这些对象使用户更容易收集通过浏览器请 求发送的信息.响应浏览器以及存储用户信息(如用户首选项). 1.Request  --- 获取请求对象 获取通过地址栏传值过来的对象 ...

  9. 实验四 使用ASP.NET内置对象 总结

    这次实验内容是ASP.NET的一些内置对象的熟悉,感觉看到了上学期JSP的影子,很多地方都很像.像Response对象,Request对象,Context对象等等.以前我老是搞混Response对象和 ...

随机推荐

  1. Mac下finder中无法关闭的小条

    就是这个恶心的小东西,根本无法关闭.其实就是在finder中无意中输入了中文导致的(不是按Alt+F , 就是打开finder然后输入中文) 可以通过继续输入中文然后按esc退出.也可以用下面的设置尽 ...

  2. get/close not same thread Druid 连接池一个设置

    我就郁闷了,1000W+数据审核每次总是到一半就出这么个错,仔细找找原来是一个配置项的小问题,removeAbandonedTimeout 这个代表你从连接池取出一个连接多少秒之后你还没还回来,那就强 ...

  3. GCD信号量并发控制

    /** *  当我们在处理一系列线程的时候,当数量达到一定量,在以前我们可能会选择使用NSOperationQueue来处理并发控制,但如何在GCD中快速的控制并发呢?答案就是dispatch_sem ...

  4. 证据对抗、证据链标准 z

    证据链乃诉讼中应对证据冲突的法宝   大部分当事人知道“证据链”这一诉讼专用术语,但几乎所有当事人将“证据链”理解成了人证.书证.物证,鉴定结论等证据的组合,将“证据链”视为不同种类证据依次出击的“组 ...

  5. QT学习之路---信号槽

    #include<QApplication> #include<QPushButton> int main(int argc,char *argv[]) { QApplicat ...

  6. 二叉树的JAVA实现-二叉树的增删改查CRUD

    package org.lyk.interfaces; import java.util.List; public interface IBiTree<T extends Comparable& ...

  7. sikuli运行出现问题:Win32Util.dll: Can't load 32-bit .dll on a AMD 64 bit platform

    Win32Util.dll: Can't load 32-bit .dll on a AMD 64 bit platform 解决办法:将该工程设置成JDK为32位的 ,我设成1.6的32位不能用,因 ...

  8. 前后台彻底分离的核心文件bridge.js.

    具体代码可以在我的git上下载:https://github.com/guoyansi/bridge 这里的后台使用java写的,如果不了解java的童鞋可以忽略下面这样图片. bridge.js / ...

  9. Inno Setup安装、卸载时判断是否程序正在运行

    var ErrorCode: Integer; IsRunning: Integer; // 安装时判断客户端是否正在运行 function InitializeSetup(): Boolean; b ...

  10. C Primer Plus(第五版)6

    第 6 章 C 控制语句 : 循环 在本章中你将学习下列内容 已经多次学过,没怎么标注 · 关键字: for while do while · 运算符: < > >= <= ! ...