温习asp.net基础
关于Request对象
Request对象时HttpRequest类的一个实例.其主要功能从客户端获取数据,使用该对象可以访问任何HTTP请求信息,传递包括有Post()或者get()方法传递参数,cookie和用户验证,由于Request,本人比较关注的是:HttpMethod 获取客户端传递Http数据的方式(get或者post),
Request请求中碰见出现重复的key,此时可以引用NameValueCollection类进行直接获取,方式如下
NameValueCollection NVColl=Request.Form;直接获取表单的所有键值对。
另讨论下NameValueCollection 与HasTable之间的区别
1.NameValueCollection类集合是基于 NameObjectCollectionBase 类。
但与 NameObjectCollectionBase 不同,该类在一个键下存储多个字符串值(就是键相同,值就连接起来如下例子)。该类可用于标头、查询字符串和窗体数据。
每个元素都是一个键/值对。NameValueCollection 的容量是 NameValueCollection 可以保存的元素数。
NameValueCollection 的默认初始容量为零。随着向 NameValueCollection 中添加元素,容量通过重新分配按需自动增加
2.NameValueCollection与Hashtable的区别
a.引用区别
hashtable:using System.Collections;
NameValueCollection:using System.Collections.Specialized;
b.键是否重复
NameValueCollection:允许重复.
HashTable是键-值集合,但键不能出现重复.
关于application与Session对象
1:Application:application是全局对象,程序发布到服务器被访问第一次就会创建,而后的访问不会重复创建,但是不会消失,全局对象会一直存在,很多访问者都可以之际调用。当服务器关闭或者出现宕机时候则会将application对象消亡。
2:Session:用户与服务器端进行会话,每一个用户访问session都会有一个独特的sessionID,这是服务器与用户之间互相认证的标志,当用户关闭网页或者注销时候,session会自动释放掉。一般情况下session的一些重要信息,比如:用户认证账号密码,购物车都会以cookie的形式存入。补充session的不足。
Application知识点:
application是ApplicationState类的一个实例对象,一个网站可能有多个Application对象。可以创建通用用户使用的application对象,还有管理员所使用的特殊application对象。因为公共的Application具有共享的特性,所有若存在修改公共变量的可能性,此时需要使用lock(),和unlock()方法。
Application对象具有Application_OnStart和Application_OnEnd俩个事件。前者是创建session之前发生的。此时只有Application和Server内置对象可以使用,其他的session,Response,Request对象不能进行访问。Application_OnEnd可以去注销Application里面的对象。
Session知识点:
每一个网页访问都会创建一个session,session有居多用途,比如购物车,或者其他重要的信息。访问一个页面的sesion都不是一样的,所以需要每个页面都在加载的时候保存一下Session,这样确保使用购物车的时候sessionid不变
Cookie问题
浏览器 使用脚本读取cookie
aspx.net
浏览器读取cookie可以直接通过Request.cookies,得到键值对
浏览器输出cookie 三步骤
1:必须声明httpCookie 实例,
2:给实例对象赋值。
3:Response.cookie.add(httpCookie实例对象)