Asp.NET之对象学习
一、总述
二、具体介绍
1、Request对象
Request对象是用来获取client在请求一个页面或传送一个Form时提供的全部信息,这包含可以标识浏览器和用户的HTTP变量,存储在client的cookie信息以及附在URL后面的值(查询字符串或页面中< Form>段中的HTML控件内的值)。
属性
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDE2ODE2MA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" style="font-size:18px">
方法
2、Response对象
Response对象用来訪问所创建的client的响应,并输出信息到client。它提供了标识server和性能的HTTP变量,发送给浏览器的信息和在cookie中存储的信息。
它也提供了一系列用于创建输出页面的方法。如无所不在的Response
. Write方法。
属性
方法
3、Application对象
在asp.net环境下,Application对象来自HttpApplictionStat类。
它能够在多个请求、连接之间共享公用信息。也能够在各个请求连接之间充当信息传递的管道。
使用Application对象来保存我们希望传递的变量。因为在整个应用程序生存周期中,Application对象都是有效的,所以在不同的页面中都能够对它进行存取,就像使用全局变量一样方便。
属性
方法
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDE2ODE2MA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
4、Session对象
Session对象就是server给client的一个编号。
当一台WEBserver执行时,可能有若干个用户浏览正在浏览这台server上的站点。
当每一个用户首次与这台WWWserver建立连接时,他就与这个server建立了一个Session,同一时候server会自己主动为其分配一个SessionID,用以标识这个用户的唯一身份。
特别说明的是Session对象的变量仅仅是对一个用户有效,不同的用户的会话信息用不同的Session对象的变量存储。
在网络环境下Session对象的变量是有生命周期的。假设在规定的时间没有对Session对象的变量刷新,系统会终止这些变量。
属性
方法
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDE2ODE2MA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
5、Server对象
Server对象提供对server上的方法和属性的訪问。
当中大多数方法和属性是作为有用程序的功能服务的。 Server对象也是Page对象的成员之中的一个。主要提供一些处理页面请求时所需的功能。比如建立COM对象、将字符串的编译码等工作。
属性
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDE2ODE2MA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
方法
三、重点掌握
1、Request对象与Response对象交互
先由Request对象获取所需參数。
Form表单数据提交到server的方式有两种:Get和Post方式。
(1) get是把參数数据队列加到提交表单的ACTION属性所指的URL中。值和表单内各个字段一一相应。在URL中能够看到。
post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。
用户看不到这个过程。
(2) 对于get方式,server端用Request.QueryString[]获取变量的值。
对于post方式,server端用Request.Form.Get()或Request[]获取提交的数据。
(3)
get传送的数据量较小,不能大于2KB。
post传送的数据量较大。一般被默觉得不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。
(4)
get安全性很低。post安全性较高。
由于GET方法传送数据有一定的限制而且不安全,所以表单一般不使用GET方法。
经过server传处理后,由Response对象将信息传回。其方式有下面几种。
(1)直接输出:Response.Write (变量数据或字符串) 比如:
Response.Write("<script language=javascript>alert('欢迎学习ASP.NET')</script>")
(2)链接到其它网页:Response对象的Redirect方法将client浏览器重定向到另外的URL上,即跳转到还有一个网页。比如:
Response.Redirect("http://www.163.net/")
(3)终止当前页的执行 :Response.End()
(4)输出指定文件:Response.WriteFile(FileName) FileName
指代需向浏览器输出的文件的文件名称
2、Application对象中的Lock与Unlock
有可能存在多个用户同一时候存取同一个Application对象的情况。这样就有可能出现多个用户改动同一个Application命名对象,造成数据不一致的问题。
HttpApplicationState 类提供两种方法 Lock 和 Unlock。以解决对Application对象的訪问同步问题,一次仅仅同意一个线程訪问应用程序状态变量。
关于锁定与解锁
锁定:Application.Lock()
訪问:Application(“键名”) = 值
解锁:Application.Unlock()
注意:Lock方法和UnLock方法应该成对使用。
3、Session对象的长处
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDE2ODE2MA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
相关阅读:ASP.NET内置对象
Asp.NET之对象学习的更多相关文章
- (转)探讨:ASP.NET技术的学习顺序问题
探讨:ASP.NET技术的学习顺序问题 摘要:很多人对于ASP.NET的入门和学习顺序比较迷茫,今天让我们一起来跟随作者的思路学习探讨ASP.NET的学习顺序问题,希望有所帮助. 如果你已经有较多的面 ...
- Asp.Net Core WebApi学习笔记(四)-- Middleware
Asp.Net Core WebApi学习笔记(四)-- Middleware 本文记录了Asp.Net管道模型和Asp.Net Core的Middleware模型的对比,并在上一篇的基础上增加Mid ...
- ASP.NET MVC 5 学习教程:Details 和 Delete 方法详解
原文 ASP.NET MVC 5 学习教程:Details 和 Delete 方法详解 在教程的这一部分,我们将研究一下自动生成的 Details 和Delete 方法. Details 方法 打开M ...
- ASP.NET MVC 5 学习教程:数据迁移之添加字段
原文 ASP.NET MVC 5 学习教程:数据迁移之添加字段 起飞网 ASP.NET MVC 5 学习教程目录: 添加控制器 添加视图 修改视图和布局页 控制器传递数据给视图 添加模型 创建连接字符 ...
- ASP.NET MVC 5 学习教程:Edit方法和Edit视图详解
原文 ASP.NET MVC 5 学习教程:Edit方法和Edit视图详解 起飞网 ASP.NET MVC 5 学习教程目录: 添加控制器 添加视图 修改视图和布局页 控制器传递数据给视图 添加模型 ...
- ASP.NET MVC 5 学习教程:生成的代码详解
原文 ASP.NET MVC 5 学习教程:生成的代码详解 起飞网 ASP.NET MVC 5 学习教程目录: 添加控制器 添加视图 修改视图和布局页 控制器传递数据给视图 添加模型 创建连接字符串 ...
- ASP.NET MVC 5 学习教程:创建连接字符串
原文 ASP.NET MVC 5 学习教程:创建连接字符串 起飞网 ASP.NET MVC 5 学习教程目录: 添加控制器 添加视图 修改视图和布局页 控制器传递数据给视图 添加模型 创建连接字符串 ...
- ASP.NET MVC 5 学习教程:控制器传递数据给视图
原文 ASP.NET MVC 5 学习教程:控制器传递数据给视图 起飞网 ASP.NET MVC 5 学习教程目录: 添加控制器 添加视图 修改视图和布局页 控制器传递数据给视图 添加模型 创建连接字 ...
- ASP.NET MVC 5 学习教程:添加模型
原文 ASP.NET MVC 5 学习教程:添加模型 起飞网 ASP.NET MVC 5 学习教程目录: 添加控制器 添加视图 修改视图和布局页 控制器传递数据给视图 添加模型 创建连接字符串 通过控 ...
随机推荐
- Python 开发初识
从今天开始记录自己的python开发之路,用博客记录自己的学习经历,以及学习小结,小的项目模块,努力充实,做最好的自己!!!
- Squid 正向代理
实现通过特定设备对特定的网址访问加速 使用squid 正向代理 实现,区别于反向代理,两者区别的根本在于作为中转的服务器在一个完整的请求中是代表客户端还是代表服务器. 服务端设置 1.安装程序包(推荐 ...
- iOS App Crash原理分析
预备知识:OS X系统分析 1.内核XNU是Darwin的核心,也是整个OS X的核心.XNU本身由以下几个组件构成: Mach微核心 BSD层 libKern I/O Kit 此外,内核是模块化的, ...
- .net core Elasticsearch 查询更新
记录一下: 数据结构如下: public class ESUserTransaction { public long AccountId { get; set; } public string Var ...
- 16 this和super和构造代码块
this关键词---当前类的对象的引用 public class Public { String name; int age; public static void main(String[] arg ...
- docker时区
docker cp /etc/localtime <id/name>:/etc/localtime
- 官方安装docker-ce步骤
这里是Centos7安装方式 安装依赖包 $ sudo yum install -y yum-utils \ device-mapper-persistent-data \ lvm2 添加Docker ...
- script标签属性sync和defer
<script src="a.js" defer></script> 加了defer属性script标签的页面,运行流程如下: 1.浏览器开始解析HTM ...
- CF 429B B.Working out (四角dp)
题意: 两个人一个从左上角一个从左下角分别开始走分别走向右下角和右上角,(矩阵每个格子有数)问到达终点后可以得到的最大数是多少,并且条件是他们两个相遇的时候那个点的数不能算 思路: 首先这道题如果暴力 ...
- Centos7安装MySQL5.7(yum)
本人尝试过使用源码安装方式,那叫一个头疼,各种问题,于是采用yum方式安装,没想到如此简单: 此服务器是刚买的,所以以前没有安装过mysql,如果以前安装过mysql的,好像要卸载干净再安装(其实我也 ...