asp.ne系统对象学习

2012年5月1日 天气有雨  今天是劳动节,突然看到腾讯登陆界面的一张图片,很有意思,画了几个图案,表面意思就是从古至今劳动工具的变化,第一张是一个石头,代表石器时间,然后是小镰刀,最搞笑的是最后面的工具是鼠标。   

学了asp.net系统对象有段时间了,做一个复习吧

1、asp.net  9大对象

page :指向页面自身的方式。作用域为页面执行期。

Request:读取客户端在Web请求期间发送的值

Response:封装了页面执行期返回到HTTP客户端的输出 

Application:作用于整个程序运行期的状态对象

Session:会话期状态保持对象,用于跟踪单一用户的会话。 

Cookie:客户端保持会话信息的一种方式

Server:提供对服务器上的方法和属性的访问 

还有viewstate和configuremanger

2、Request对象

用于取出客户端请求web时发送的值

关于getpost两种传参

  关于传的参数问题:传的参数是form表单中带name属性的控件的值 在服务器中以键/值对的方式取值

  get是地址栏传参(传参是有限  大文件通过file)  querystring取值 

  post是表单(看不到的表单域)传参 form取值  

  但有一小问题  就是  当你用get传值时  设置action=“111.htm?abc=123”

  他会默认把你的?abc=123去悼 然后换成表单里控件 的

  解释办法   不用get传值  post传值  你的此“111.htm?abc=123”路径 就可以传过去

  也就是说  method=get时 加参等于没加

3、asp.net状态保持方案


4、通过VIEWSTATE在页面中保存值

服务器在接收到用户请求一个页面后,会自动在请求报文中找看是否包含__VIEWSTATE的隐藏域,如果有,则将中间的值解码后添加到页面的ViewState属性中

作用域:页面级

主要是用于保存服务器控件的状态,我们也可以很方便的用来保存自己的值,保存的类型有StringIntegerBooleanArrayArrayListHashtable

缺点:加大网站的流量、降低访问速度、机密数据放到表单中会有数据欺骗等安全性问题,因为通过工具可以查看到他里面的值

5、cookie(绰号小甜饼)

Cookie 是一种能够让网站 服务器把少量数据 (4kb 左右 ) 储存到客户端 硬盘或内存, 并且读取出来的一种技术。
当我们每次请求一个页面时,浏览器就会把该页面上在浏览上保存的cookie同请求报文一起发送给服务器,提供服务器调用。
服务器返回数据除了普通的html数据以外,还会返回修改的Cookie,浏览器把拿到的Cookie值更新本地浏览器的Cookie就可以。
Cookie可以在服务器设置,也可以在浏览器设置(通过js)。
Cookie有两种保存方式,一种在浏览器缓存中,关闭浏览器,缓存消息。一种是硬盘中,设置过期时间。
设置了Expires属性的cookie只存在硬盘中,没设置的保存在浏览器中。

6、session对象
session是保存在服务器内存中的一种对象,因为安全,所以被广泛应用。
session原理:保存一个GuidCookie中,然后在服务器中建立一个以GuidKey,复杂数据为Value全局Dictionarystatic字段对于不同用户也只有一份,因此用static实现多用户共享数据。当浏览器请求页面时,会发送Guid值到服务器中,如果dictionary值没过期(默认是20分钟)。请可以请取出来使用。
作用域:站点级的,只要同一浏览器中(前提是不关闭浏览器),到本站头的另一页面,数据可以共享。

HttpContext.current获得当前的HttpContext,这样就可以当参数传递到类

Cookie只能保证文本    cookie如果不设置Expires属性 默认是保存在浏览器缓存中  当浏览器关闭后 cookie消失

Session可以保存任意类型

Session是依靠cookie的  为什么会这样说呢?

因为当我们建立 一个session时,framework会给我产生一个sessionID然后设置一个cookie在浏览器缓存中保存sessionID ,下次当我们向服务器发出请求时,会把sessionID发送回去(通过设置在浏览器缓存中cookie保存sessionID),这样我们就可以知道是哪个浏览器发送 从服务器中匹配sessionID 这样就可以请求你上次保存的值了(就是一个凭证,像银行取钱时要求银行卡才行)

当浏览器关闭,sessionID就不存在了,就算你的session值没过期,保存值也找不到了,再次请求,服务器重新分配sessionID给浏览器

Session有两个对象

sessionIdsession对象  其中session对象包括键值对

还有一种说话,说cookie可以禁用,但如果你禁用了cookie,你的session就用不了,那大部分网站就不能正常运行了。

浏览器第一次请求,不管你是否设置session,framework会自动分配一个sessionID给你。


转载于:https://www.cnblogs.com/arno-zhang/archive/2012/05/01/5027552.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值