ASP.NET内置对象有个:
1 Request;
2 response
3 Server
4 Cookie;
5 Session
6 Applicaton;
(1) Request对象主要是让服务器取得客户端浏览器的一些数据,包括从HTML表单用Post或者GET方法传递的参数,Cookie和用户认证。
其类名为:HttpRequset
方法就只有一个BinaryRead();检索从客户端发送到服务器作为POST请求的一部分数据。此方法获取来自客户端的数据并将其储存在 SafeArray 中。SafeArray 是一个数组,其中包含维数和边界信息。
语法
variant = Request.BinaryRead(count)
参数
-
variant
-
包含由该方法返回的无符号数的数组。该参数的类型为 VT_ARRAY | VT_UI1。
count
- 在执行前,指定要从客户端读取的字节数。此方法返回后, count 将包含从客户机成功读取的字节数。实际读取的字节总数将小于或等于 Request.TotalBytes。
注释
BinaryRead 方法用于读取作为 POST 请求的一部分从客户端发出的未加工数据。此方法用于在底层访问数据,与此相反,Request.Form 集合用于查看在公告请求中发送的表格数据。一旦调用了BinaryRead,则引用Request.Form 集合中的任何变量都将导致错误发生。反之,一旦引用了Request.Form 集合中的一个变量,则调用BinaryWrite 也将导致错误发生。请记住,如果在访问Request 集合中的变量时未指定该变量属于哪一个子集,将搜索 Request.Form 集合并强制使用上述规则。
示例
下列示例使用 BinaryRead 方法将请求的内容放入一个安全的数组中。
<% Dim binread Dim bytecount bytecount = Request.TotalBytes binread = Request.BinaryRead(bytecount) %>
属性:
属性名 | 值类型 | 说明 | |
| int | 只允许读,指定客户端在请求正文中发送的字节总数 | |
ApplicationPath | sting | 获取请求的资源在网站上的根路径 | |
ContentEncoding | Encoding | 设置请求对象的编码 | |
Cookies | HttpCookieCollection | 客户端发送到服务器的cookie集合 | |
QueryString | NameValueCollection | 当前请求的查询字符串集合 | |
UrlReferrer | Uri | 获取用户由哪个url跳转到当前页面 |
(2)response对象
将输出发送到客户端,包括向浏览器输出数据,重定向浏览器到另一个url,
或向浏览器输出Cookie文件。
其类名为HttpResponse
属性
属性名 | 说明 |
Buffer | 表明页面输出是否被缓冲 |
CacheControl | 决定代理服务器是否能缓存ASP生成的输出 |
Charset | 将字符集的名称添加到内容类型标题中 |
ContentType | 指定响应的HTTP内容类型 |
Expires | 在浏览器中缓存的页面超时前,指定缓存的时间 |
ExpiresAbsolute | 指定浏览器上缓存页面超时的日期和时间 |
IsClientConnected | 表明客户端是否与服务器断开 |
pics | 将PIC标记的值添加到响应的标题的PICS标记字段中 |
Status | 服务器返回的状态行的值 |
方法:
方法名 | 说明 |
AddHeader | 从名称到值设置HTML标题 |
AppendToLog | 在该请求的WEb服务器日志条目后添加字符串 |
BinaryWrite | 将给出信息写入到当前 HTTP 输出中,并且不进行任何字符集转换 |
Clear | 清除任何缓冲的 HTML 输出。 |
End | 停止处理 .asp 文件并返回当前的结果。 |
Flush | 立即发送缓冲的输出 |
Redirect | 将重指示的信息发送到浏览器,尝试连接另一个 URL。 |
Write | 将变量作为字符串写入当前的 HTTP 输出 |
AppendCookies | 向响应对象的Cookie集合中增加一个Cookie |
(3) Server对象
Server对象提供对服务器上的方法和属性的访问,其中大多数方法和属性是作为实用程序的功能服务的。
常用的方法
方法名 | 说明 |
Execute | 执行指定的资源,并且在执行完之后再执行本页的代码 |
HtmlDecode | 消除对特殊字符串编码的影响 |
HtmlEncode | 对特殊字符串进行编码 |
MapPath | 获取指定相对路径在服务器上的物理路径 |
Transfer | 停止执行当前程序,执行指定的资源 |
UrlDecode | 对路径字符串进行解码 |
UrlEncode | 对路径字符串进行编码 |
ScriptTimeout | 超时值,在脚本运行超过这一时间之后即作超时处理 |
CreateObject | 创建服务器组件的实例 |
(4)Cookie对象
Cookie对象是一小段文本信息,伴随着用户请求和页面在Web服务器和浏览器之间传递。用户每次访问站点时,Web应用程序都可以读取Cookie包含的信息。
Cookie与Session,Application类似,也是用来保存相关信息,但是Cookie和其他对象的最大不同时,Cookie将对象保存在客户端,而Session和Application是保存在服务器端。
也就会说,无论何时用户连接到服务器,web站点都可以访问cookie信息,这样,既方遍了用户的使用,也方便了网站对用户的管理。
ASP.NET包含两个内部Cookie集合,通过HttpRequest的Cookie集合访问的集合包含通过Cookie标头从客户端传送到服务器端的Cookie.通过HttpResPonse 的Cookie集合访问的集合包含一些新Cookie,这些Cookie在服务器上创建并以Set-Cookie标头的形式传输到客户端。
Cookie不是Page类的子类,所以使用方法上跟Seesion和Application不同。Cookie中只能保存字符类型的数据,如果需要在Cookie中保存其他类型的数据,需要将其转换成字符类型后保存,其最大的生命周期是50年。
举个例子:
创建Cookie
1HttpCookie cookie=new HttpCookie("UserName","yuangh");
2 Response.Cookies.Add(cookie);
获取Cookie
string userName,
if(Request.Cookie["UserName"]!=null)
{
userName=Request.Cookies["UserName"].Value;
}
Cookie对象的属性
属性 | 说明 |
Name | 设置或获取Cookie的名称 |
Value | 获取或设置Cookie的value |
Expires | 获取或设置Cookie的过期日期和时间 |
Version | 获取或设置Cookie符合的HTTP状态维护版本 |
Cookie对象的方法
方法 | 说明 |
Add | 新增一个Cookie变量 |
Clear | 清除Cookie集合内的变量 |
Get | 通过变量名或索引得到Cookie的变量值 |
GetKey | 以索引值来获取Cookie的变量名称 |
Remove | 通过Cookie变量名来删除Cookie变量 |
(5)Application对象
可以使用Application对象在给特定的应用程序的所有用户之间共享信息。比如自从服务器启动以来某个页面被打开的次数。基于ASP的应用程序所有的.asp文件一样在一个虚拟目录及其子目录中定义。应为多个用户可以共享Application对象,所以必须要有Lock和Unlock方法以确保多个用户无法同时改变某一属性。
属性 | 说明 |
AllKeys | 获取HttpApplicationState集合中的访问健 |
Count | 获取HttpApplicationState集合中的对象数 |
Appication 对象的方法
方法 | 说明 |
Add | 新增一个新的Application对象变量 |
Clear | 清除全部的Application对象变量 |
Get | 使用索引关键字或变数名称得到变量值 |
GetKey | 使用索引关键字来获取变量名称 |
Lock | 锁定全部的Application变量 |
Unlock | 解除锁定的Application变量 |
RemoveAll | 删除全部的Application对象变量 |
Set | 使用变量名更新一个Application对象变量的内容 |
Remove | 使用变量名称删除一个Application对象 |
(6)Session对象
Session对象是HttpSessionState的一个实例。该类为当前用户会话提供信息,还提供对可用于存储信息的会话范围的缓存的访问,以及控制如何管理会话的方法。
Session的发明是填补Http协议的局限限,HTTP协议工作过程是,用户发出请求,服务器端做出响应,这种用户端和服务器端之间的联系都是离散的,非连续的。在HTTP协议中没有什么能够允许服务器端来跟踪用户请求的。在服务器端完成响应用户的请求后,服务器端不能持续与浏览器保持链接,从网站的观点上看,每一个新的请求都是单独存在的,因此,当用户在多个主页间转换时,就根本无法知道他的身份。
可以使用Session对象存储特定用户会话所需的信息。这样,当用户在应用程序的web页之间跳转时,存储在Session对象中的变量将不会丢失,而是在整个用户会话中一直存在下去,默认的生命周期是20min,
Session具有以下特点:
Session中的数据保存在服务器端;
Session中可以保存任意类型的数据;
Session默认的生命周期是20分钟,可以手动设置更长或更短的时间。
例如保存用户名:
Session["UserName"]="yuan";
获取Session的值:
string username=(string)Session["UserName"];
Session的属性
属性 | 说明 |
count | 获取会话状态集合中Session对象的个数 |
TimeOut | 获取并设置在会话状态提供程序终止会话之前各请求之间所允许的超时期限 |
SessionID | 获取用户标识会话唯一会话ID |
方法
方法 | 说明 |
Add | 新增一个Session对象 |
Clear | 清除会话状态中的所有值 |
Remove | 删除会话状态集合中的项 |
RemoveAll | 清除所有会话状态值 |
http://www.2cto.com/shouce/ASPsc/innerobject/response/intr5sj8.htm
http://zhoufoxcn.blog.51cto.com/792419/166803
http://www.360doc.com/content/12/1024/11/10785446_243444705.shtml