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 学习教程目录: 添加控制器 添加视图 修改视图和布局页 控制器传递数据给视图 添加模型 创建连接字符串 通过控 ...
随机推荐
- SqlBulkCopy实现大批量数据导入
//自增列重新生成:SqlBulkCopy bc = new SqlBulkCopy(conn) //自增列保留原值:SqlBulkCopy bc = new SqlBulkCopy(conn,Sql ...
- R语言学习 - 热图绘制heatmap
生成测试数据 绘图首先需要数据.通过生成一堆的向量,转换为矩阵,得到想要的数据. data <- c(1:6, 6:1, 6:1, 1:6, (6:1)/10, (1:6)/10, (1:6)/ ...
- ThinkPHP---thinkphp框架介绍
目录: (1)简述: (2)下载: (3)文件结构: (4)部署: (5)细节问题: 主体: (1)简述 ThinkPHP诞生于2006年初,最初叫FSC.于2007年元旦更名为PHP,同时官网上线. ...
- 【原】thinkphp修改Redis操作类,支持选择数据库功能及添加其他方法
版本3.2.2(ThinkPHP\Library\Think\Cache\Driver\Redis.class.php), 一:官方默认不支持选择数据库功能及,现就可选择数据库功能进行说明. 1 co ...
- uint8_t、uint16_t、uint32_t是啥?
最近在做一个简单的按键检测,定义一个uint8_t的函数,函数作用是返回一个按键编号数字. 函数返回值 return 1/2/3/4,代表4个按键 但是按键检测结果却是错误的!!! 百思不得其解,后来 ...
- UVA - 12589 Learning Vector(dp-01背包)
题目: 思路: dp[j][h]表示选取了j个向量,且高度为h,利用01背包来解决问题. 没选当前的向量:dp[j][h] = dp[j][h]; 选了当前的向量:dp[j][h] = dp[j-1] ...
- LINUX-文件的特殊属性 - 使用 "+" 设置权限,使用 "-" 用于取消
chattr +a file1 只允许以追加方式读写文件 chattr +c file1 允许这个文件能被内核自动压缩/解压 chattr +d file1 在进行文件系统备份时,dump程序将忽略这 ...
- 【Python实践-8】和为S的两个数字
(剑指offer)输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的. 思路:选定第一个数字,然后遍历后面的数字求和并与S比 ...
- Linux命令介绍
资料链接:(Linux基本命令介绍)http://note.youdao.com/share/?id=36c07917f8d3e6437c1e764c3516a3f2&type=note#/ ...
- 嵌入式LinuxC语言程序设计基础教程
第1章 嵌入式LinxuC语言开发工具 第2章 数据 第3章 数据的输入输出 第4章 运算符和表达式 第5章 程序结构和控制语句 第6章 数组 第7章 指针 第8章 函数 第9章 用户自定义数据类型 ...