ASP.NET内置对象(详细)

ASP.NET内置对象(详细)
  今天跑到图书馆看书,很多东西忘了,以⾄有时候求职⾯试时说不出来,便有空来看看书
  以下是从《C#与ASP.NET程序设计教程》王振武著⼀书上看到的,写的挺详细的,有时候会⽤到,便搬到这边来,共分享,学习;我只是知识的搬运⼯⽽已,哇咔咔! 
内置对象名称功能说明
Page对ASP.NET页⾯的内容进⾏处理
Requset获取客户端及服务端的相关信息
Response将HTTP相关数据及其有关信息发送到客户端
Server提供⼀系列与WEB相关的程序
Session在服务器的内存中储存客户会话的信息
Cookie在客户端储存与客户和⽹站相关的信息
Application在服务端储存应⽤程序多次访问的信息
Page对象的常⽤属性
  IsPostBack:获取⼀个布尔类型的值,该值表⽰页⾯是否⾸次加载和访问;第⼀次访问为false,再次访问为true.
  Form:获取页⾯的HTML窗体。
  Validator:获取请求的页上包含验证控件的集合
Page对象的常⽤事件
  PreInit:在页⾯初始化开始时的发⽣
  Init:当服务器控件初始化时发⽣;初始化是控件⽣存期的第⼀步陈君文
  InitComplite:在页初始化完成时发⽣
  PreLoad:在页Load事件之前发⽣
  Load:在服务器控件加载到Page对象中时发⽣
  LoadComplete:在页⽣命周期的加载阶段结束时发⽣
  PreRender:在加载Control对象之后,呈现之前发⽣
  Unload:在服务器控件从内存中卸载时发⽣
刘招华
  Dispose:在从内存释放服务器控件时发⽣
  DataBinding:当服务器控件绑定到数据源时发⽣
ASP.NET页⾯执⾏顺序⼤致如下:
1. 页⾯初始化,触发Page_Init()事件
2. 加载页⾯视图状态viewstate;viewstate⽤来维护控件⾃⾝的状态,是不能被⽤户访问的
3. 加载页⾯,触发Page_Load事件
4. 页⾯运⾏时服务器控件引发的事件
5. 页⾯从内存中卸载。触发Page_UnLoad()事件
Request对象的常⽤属性
  Form:获取窗体变量的集合
  QueryString:获取HTTP查询字符串变量集合
  ServerVariables:获取Web服务器变量的集合
  Cookie:获取客户端发送的Cooike的集合
  Browser:获取或设置有关正在请求的客户端浏览器功能的信息
  CilentCertificate:获取当前请求的客户端安全证书
<form id="form1" runat="Server" method="Post">
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
</form>
 获取控件的值: 
 利⽤表单传递数据(POST)   Request.Form["字段名称"] 或 Requset["字段名称"]; 利⽤UML来传递数据(GET)   Request.QueryString["字段名称"];
ServerVariables属性的语法格式
Request.ServerVariables["环境变量名称"]
常⽤的服务器环境变量
ALL_HTTP:传送给客户端浏览器的HTTP标题内容
中国表面工程APPL_RAW:所有传送给客户端浏览器的原始信息
APPL_MD_PATH:web应⽤程序的相对路径
APPL_PHYSICAL_PATH:web应⽤程序的物理路径
AUTH_PASSWORD:客户认证信息的密码
CONTENT_LENGTH:发送到客户端的⽂件长度
AUTH_USER:客户认证的⽤户账号信息
AUTH_TYPE:⽤户是否有权访问被保护脚本的标识
CONTENT_TYPE:发送到客户端的⽂件类型
GATEWAY_INTERFACE:服务器端的CGI版本
HTTP_ACCEPT_LANGUAGE:服务器端允许使⽤的语系
HTTP_CONNECTION:服务器端的联机状态
HTTP_HOST:服务器的主机名称
HTTP_USER_AGENT:服务器端使⽤的Cookie
HTTP_ACCEPT_ENCODING:服务器端允许使⽤的编码⽅式
LOCAL_ADDR:服务器端的IP地址
LOGON_USER:当⽤户在windows NT系统中登录时所记录的客户端信息
QUERY_STRING:使⽤URL传递的数据
REMOTE_ADDR:客户端的IP地址
REMOTE_HOST:客户端的主机名称
REQUEST_METHOD:传送web表单数据的⽅式:get/Post
SCRIPT_NAME:当前ASP.NET⽂件的相对路径和⽂件名称
SERVER_NAME:服务器端的IP地址和名称
SERVER_POST:⽤http进⾏数据请求时,所⽤到的服务器端的端⼝号
SERVER_PROTOCOL:服务器端使⽤的通信协议
SERVER_SOFTWARE:服务器端使⽤的软件,版本和名称
URL:ulr的相对⽹址
Browser属性常⽤的浏览器属性
Request.Browser["浏览器属性名称"]
Type:客户端浏览器的名称和主版本号(整数)
BackgroundSounds:客户端浏览器是否⽀持背景声⾳
Browser:客户浏览器的名称
Version:客户浏览器的完整的版本号(整数和⼩数)
MajorVersion:客户端浏览器的主版本号(整数)
MinorVersion:客户浏览器的次版本号(⼩数)
Platform:客户端使⽤的平台的名称
Frames:客户端浏览器是否⽀持HTML框架
Tables:客户端浏览器是否⽀持表格功能
Cookie;客户端浏览器是否⽀持Cookie
ClrVersion:客户端浏览器的.NET公共语⾔运⾏库的版本号
JavaApplets:客户端浏览器是否⽀持Java⼩程序
JavaScript:客户端浏览器是否⽀持JavaScript
ActiveXControls:客户端浏览器是否⽀持ActiveX控件
Win16:客户端浏览器是否为基于16位windows的计算机
Win32:客户端浏览器是否为基于32位windows的计算机
ClientCertificate属性
AllKeys:获取NameValueCollection对象中的所有键
BinaryLssuer:获取或设置证书颁发者(以⼆进制表⽰)
CertEncoding:获取证书的编码
Certificate:获取⼀个字符串,该字符串包含整个证书内容的⼆进制流
Cookie:获取客户证书的唯⼀ID(如果已提供)
Falgs:⼀组标识,提供附加的客户证书的信息
IsPresent:获取⼀个值,该值指⽰客户证书是否存在
Issuer:⼀个字符串,包含有关证书颁发者信息的字段值的列表
IsValid:获取⼀个值,该值指⽰客户证书是否有效
Item:获取或设置NameValueCollection对象中的指定项
KeySize:获取数字证书密钥⼤⼩的位数
PublicKey:获取证书的公钥⼆进制值
SecretKeySize:获取服务器证书密钥的位数
结果补语SerialNumber:将证书序列号表⽰为连字符分隔的⼗六进制ASCII字符形式
ServerIssuer:获取服务器证书的颁发者
ServerSubject:获取服务器证书的接收⽅
Subject:获取客户证书的接收⽅
ValidFrom:获取证书⽣效的⽇期,此⽇期随区域设置的不同⽽不同
ValidUntil:获取证书到期⽇期
void Page_Load(object sender,EventArgs e)
{
Sysem.Web.HttpClientCertificate HDC=Request.ClientCertificate;
Label1.Text=HDC.IsPresent.ToString();
//......
}
Response对象常⽤属性及⽅法
  Buffer:获取或设置⼀个值,该值指⽰是否缓冲输出,并在完成处理整个响应之后将其发送
  BufferOutput:获取或设置⼀个值,该值指⽰是否缓冲输出,并在完成处理整个页之后将其发送
  Cache:获取Web页的缓存策略(过期时间,保密性,变化⼦句)
  Cookies:获取响应Cookie集合
  Write() :向客户浏览器输出信息
  Redirect(): 将客户端重新定向到新的URL
  BinaryWrite(): 输出⼆进制信息
  Clear() :清除缓冲区中的所有HTTP页⾯
  End() :将当前所有缓冲的输出发送到客户端,停⽌该页⾯的执⾏,并引发Application_EndRequest事件
  Flush() :向客户端发送当前所有缓冲的输出
  当编译器执⾏到Response.Redirect时,会⽴即打开该⽅法指定的页⾯,⽽Response.Redirect⽅法之后的语句完全没有执⾏的机会!
  对于Redirect(),只有Buffer和BufferOutput设置为true时才执⾏,如果Buffer和BufferOutput属性为假,
服务器将直接把页⾯输出到客户端,⽽在已经输出的HTML元素之后,⼜想把页⾯引导⾄另外⼀个页⾯显⽰是不允许的!
  当执⾏Response.Clear()时,服务器缓冲区的内容将全部被清除,在客户端浏览器中,只能看到该语句之后的执⾏结果。
  当执⾏Response.End()时,程序的执⾏被终⽌,缓冲区中的现有内容会全部输出到浏览器上,且End⽅法后的语句不会被执⾏。
  当执⾏Response.Flush()时,会将缓冲区中的全部内容都输出到浏览器中,同时将缓冲区清空,且Flush⽅法后的语句可以继续执⾏。
Server对象常⽤属性及⽅法Server对象由System.Web.HttpServerUtility类实现
  ScriptTimeout: 获取或设置请求超时值(单位为s)
  Execute() : 在当前请求的上下⽂中执⾏指定虚拟路径的处理程序
  Transfer() :终⽌当前页⾯的执⾏,并为当前请求开始执⾏新页
  MapPath() :返回Web服务器上执⾏虚拟路径对象的物理路径
Session对象由System.Web.SessionState.HttpSessionState类实现
  Timeout 属性:获取并设置在会话状态提供程序终⽌会话之前各请求之间所允许的时间(以min为单位),默认为20min
  Abandon() ⽅法:清除Session对象
作⽤是记载⼀次会话中的⽤户信息;ASP.NET应⽤程序为每个⽤户都维护⼀个Seesion对象,Seesion对象常被⽤来储存需要跨页⾯使⽤的信息。
Seesion对象中存放的是Object类型,当进⾏读取操作时需要做类型转换。
Session["Key"]=Value;
Session对象存在于服务器的内存中,因此不能⽆限期的占⽤服务器资源。默认有效期为20min ,可以通过Session.Timeout=100;重新设置
Cookie对象
该也是⽤来储存⽤户信息,不同之处在于Session对象将信息储存在服务器的内存中,⽽Cookie将⽤户信息储存在客户端。
Name:获取或设置Cookie的名称
Value:获取或设置Cookie的Value
Expires:获取或设置Cookie的过期⽇期和时间
Add() :新增⼀个Cookie变量
国家公路网规划(2013年-2030年
Clear() :清除Cookie集合内的变量
Get() :通过变量名或索引得到Cookie的变量值
GetKey:以索引值类获取Cookie的变量名称
//创建Cookie
//创建Cooike有俩种⽅法
Response.Cookie["userName"].Value="Admin";
Response.Cookie["userName"].Expires=DateTime.Now.AddDays(1);
如果不设置失效时间,Cookie信息不会被写到⽤户硬盘,浏览器关闭时将会丢弃,也可以如下创建Cookie:
HttpCookie aCookie=new HttpCoopie("userName");
aCookie.Value=DateTime.Now.ToString();
aCookie.Expries=DateTime.Now.AddDays(1);
Response.Cookie.Add(aCookie);
//创建多值Cookie
Response.Cookie["userInfo"]["userName"]="Admin";
Response.Cookie["userInfo"]["lastVisit"]=DateTime.Now.ToString();
Response.Cookie.Expires=DateTime.Now.AddDays(1);
读取Cookie
if(Request.Cookie["userName"]!=null)
str=Server.HtmlEncode(Request.Cookie["userName"].Value);
//多值Cookie读取例⼦
HttpCookie aCookie=Request.Cookie["userInfo"];
string userName=aCookie.Value["userName"];
string lastVisit=aCookie.Value["lastVisit"];
修改Cookie
HttpCookie aCookie=Request.Cookie["userInfo"];
aCookie.Values["userName"]="one_User";
//或者
aCookie.Value.Set("userName","one_User");
Response.AppendCookie(aCookie);
删除Cookie
HttpCookie aCookie=Request.Cookie["userInfo"];
aCookie.Values.Remove("userName");
优点:
可配置到期规则
不需要任何服务器资源。Cookie储存在客户端并在发送后由服务器读取
简单性。Cookie 是⼀种基于⽂本的轻量结构,包含简单的键值对
数据持久性。可以设置最长持续时间
缺点
⼤⼩受到限制。⼤多数浏览器对Cookie的⼤⼩4096B,现在越发常见为8192B
⽤户配置为禁⽤。有些⽤户在浏览器上禁⽌了Cookie接收的功能
潜在的安全风险。Cookie可能被操作和篡改,导致存在安全风险,会依赖Cookie的应⽤程序响应失败
Application对象
与Seesion对象储存信息的⽅式类型,Application对象也是将⽤户信息存在服务器中。
不同:Application对象是⼀个公有变量,允许多个⽤户对它进⾏访问,⽽Session对象只允许某个特定的⽤户访问。语法:Application["ApplicationName"]=变量/常量/字符串/表达式;
由于允许多个⽤户对Application对象进⾏访问,所以要实现对公有资源的同步访问需要采⽤加锁和解锁的⽅式Application.Lock();
Application["ApplicationName"]=App_Name;
Application.UnLock()
中国图书资料分类法各位道友,认真看完了么?不能⽩看呀,解决下⾯习题吧
说明Response对象的Clear,End,Flush  ⽅法的区别和联系
说明Session对象的Application对象的相同点和不同点
说明Cookie对象和Session对象的区别

本文发布于:2024-09-23 05:14:38,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/273994.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:客户端   获取   浏览器   对象   信息   服务器
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议