ASP.NET内置对象一
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内置对象一的更多相关文章
- 初识 Asp.Net内置对象之Response对象
Response对象 Respose对象用于将数据从服务器发送回浏览器.它允许将数据作为请求的结果发送到浏览器,并提供有光响应的信息,可以用来在页面中输入数据,在页面中跳转,还可以传递各个页面的参数, ...
- Asp.net内置对象用途说明
Asp.net 内置对象 1.Session当客户第一次请求网页,session创建.当客户最后一次请求页面,一段时间后,session销毁.默认30分钟. 一般存用户信息,即登陆成功后,在sessi ...
- 【ASP.NET 基础】ASP.NET内置对象
准确地说,asp.net 并没有内置对象这一说,jsp 里确实把 request.response 这些当作 jsp 的内置对象,这里只不过是借用了一下 jsp 的说法而已.在 Web 中处于中心的是 ...
- ASP.NET内置对象详解
ASP.NET的内置对象介绍 1.Response 2.Request 3.Server 4.Application 5.Session 6.Cookie Request对象主要是让服务器取得客户端浏 ...
- 初识 Asp.Net内置对象之Server对象
Server对象 Server对象定义了一个于Web服务器相关联的类提供对服务器上的方法和属性的访问,用于访问服务器上的资源. Server对象的常用属性 属性 MarhineName 获取服务器 ...
- ASP.NET内置对象
ASP.NET中有六个内置对象 Response:向客户端输出信息或设置客户端输出状态. Request:获取客户端信息. Server:访问服务器的方法和属性. Application:用于将信息保 ...
- ASP.NET 内置对象涉略
一.ASP.NET中内置的常用对象的介绍 本文列举了ASP.NET 的八个内置对象,其中前五个是比较常用的. 1.Response Response 对象用于从服务器向用户发送输出的结果. Write ...
- 2017-5-22 ASP六大 内置对象
ASP内置对象:提供内建对象,这些对象使用户更容易收集通过浏览器请 求发送的信息.响应浏览器以及存储用户信息(如用户首选项). 1.Request --- 获取请求对象 获取通过地址栏传值过来的对象 ...
- 实验四 使用ASP.NET内置对象 总结
这次实验内容是ASP.NET的一些内置对象的熟悉,感觉看到了上学期JSP的影子,很多地方都很像.像Response对象,Request对象,Context对象等等.以前我老是搞混Response对象和 ...
随机推荐
- Mac下finder中无法关闭的小条
就是这个恶心的小东西,根本无法关闭.其实就是在finder中无意中输入了中文导致的(不是按Alt+F , 就是打开finder然后输入中文) 可以通过继续输入中文然后按esc退出.也可以用下面的设置尽 ...
- get/close not same thread Druid 连接池一个设置
我就郁闷了,1000W+数据审核每次总是到一半就出这么个错,仔细找找原来是一个配置项的小问题,removeAbandonedTimeout 这个代表你从连接池取出一个连接多少秒之后你还没还回来,那就强 ...
- GCD信号量并发控制
/** * 当我们在处理一系列线程的时候,当数量达到一定量,在以前我们可能会选择使用NSOperationQueue来处理并发控制,但如何在GCD中快速的控制并发呢?答案就是dispatch_sem ...
- 证据对抗、证据链标准 z
证据链乃诉讼中应对证据冲突的法宝 大部分当事人知道“证据链”这一诉讼专用术语,但几乎所有当事人将“证据链”理解成了人证.书证.物证,鉴定结论等证据的组合,将“证据链”视为不同种类证据依次出击的“组 ...
- QT学习之路---信号槽
#include<QApplication> #include<QPushButton> int main(int argc,char *argv[]) { QApplicat ...
- 二叉树的JAVA实现-二叉树的增删改查CRUD
package org.lyk.interfaces; import java.util.List; public interface IBiTree<T extends Comparable& ...
- 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位不能用,因 ...
- 前后台彻底分离的核心文件bridge.js.
具体代码可以在我的git上下载:https://github.com/guoyansi/bridge 这里的后台使用java写的,如果不了解java的童鞋可以忽略下面这样图片. bridge.js / ...
- Inno Setup安装、卸载时判断是否程序正在运行
var ErrorCode: Integer; IsRunning: Integer; // 安装时判断客户端是否正在运行 function InitializeSetup(): Boolean; b ...
- C Primer Plus(第五版)6
第 6 章 C 控制语句 : 循环 在本章中你将学习下列内容 已经多次学过,没怎么标注 · 关键字: for while do while · 运算符: < > >= <= ! ...