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. JS定时执行,循环执行

    从http://www.jb51.net/article/23863.htm  转载 Document自带的方法: 循环执行:var timeid = window.setInterval(“方法名或 ...

  2. Mac 终端常用命令备忘

    Tab 补全 pwd 显示路径 一 .ls ls -lh   查看当前路径详细文件 ls ..     返回上级目录 ls -a   显示隐藏文件 ls -a -l 以详细列表显示 ls ../../ ...

  3. Android Studio 快捷键 主键

    Alt+回车 导入包,自动修正Ctrl+N   查找类Ctrl+Shift+N 查找文件Ctrl+Alt+L  格式化代码Ctrl+Alt+O 优化导入的类和包Alt+Insert 生成代码(如get ...

  4. gitlab和Django实现push自动更新

    1.设置webhook gitlab->setting->webhook:http://121.143.191.166:7000?token=23028-b396-12e5-9912-ba ...

  5. Cocos2d-x下Lua调用自定义C++类和函数的最佳实践[转]

    Cocos2d-x下Lua调用C++这事之所以看起来这么复杂.网上所有的文档都没讲清楚,是因为存在5个层面的知识点: 1.在纯C环境下,把C函数注册进Lua环境,理解Lua和C之间可以互相调用的本质 ...

  6. (旧)子数涵数·PS——水杯抠图

    一.首先老规矩,下载所需要的素材. 二.打开Photoshop,并打开已下载好的素材. 三.使用"钢笔工具",快捷键为P,采用"路径"模式,将水杯抠出(例图左上 ...

  7. 区域生长算法(附MATLAB代码实现)

    一.理论概念 区域生长是按照事先定义的生长准则将一个像素或者子区域逐步聚合成一个完整独立的连通区域过程.对于图像感兴趣目标区域R,z为区域R上事先发现的种子点,按照规定的生长准则逐步将与种子点z一定邻 ...

  8. 读书笔记--编程珠玑II

    学化学的应该都知道chemdraw,这是一款专门绘制化学结构的软件,什么苯环.双键各种word难以搞定的分子式,你可以轻松的用chemdraw完成,可以称得上化学工作者居家旅行必备的良药.其实早在19 ...

  9. OpenJudge 核电站

    描述 一个核电站有N个放核物质的坑,坑排列在一条直线上.如果连续M个坑中放入核物质,则会发生爆炸,于是,在某些坑中可能不放核物质. 任务:对于给定的N和M,求不发生爆炸的放置核物质的方案总数 输入 只 ...

  10. 如何在后台动态生成ASPxCheckBoxList标签并循环(数据调用存储过程)

    DataTable dt_attrname = new DataTable(); DataTable dt_valuename = new DataTable(); dt_valuename = go ...