• 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:将客户端重定向到新的 URLWrite将信息写入 HTTP 输出内容流。

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

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

    2Request 对象

      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:验证由客户端浏览器提交的数据,如果存在具有潜在危险的数据,则引发一个异常。

    3Server对象

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

      Server对象的属性 :

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

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

    (4)Session对象

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

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

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

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

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

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

        2)使用改装的URL。在这种情况下,SessionID被转化一个特定的改装的URLASP.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服务器)。

    5Cookie对象

      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变量。

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

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

    6Application对象

      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对象,所以必须要有LockUnlock方法,以确保多个用户无法同时改变某一属性。

      Application对象的属性 :

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

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

    (7)ViewState对象

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

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

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

     

        

  • 相关阅读:
    vue+elementui+sortable.js实现表格行和列的拖拽
    vs2019生成项目超级慢,无法生成项目
    Mac brew 安装的 Mysql 8 重置 root 密码
    底层原理
    顶层设计 管程技术
    VS2019 对类类型的匿名对象的优化
    V2019编写C/C++时没有与参数列表匹配的重载函数实例
    Datagrip Communications link failure The last packet successfully received from the server was 171
    SpringBoot入门14(springboot配置thymeleaf使用YML)
    完美解决CentOS8 yum安装AppStream报错,更新yum后无法makecache的问题
  • 原文地址:https://www.cnblogs.com/spilledlight/p/4849625.html
Copyright © 2020-2023  润新知