ASP中常用的内置对象

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

(1)简述ASP.NET内置对象。

答:ASP.NET提供了内置对象有Page、Request、Response、Application、Session、Server、Mail和Cookies。

这些对象使用户更容易收集通过浏览器请求发送的信息、响应浏览器以及存储用户信息,以实现其他特定的状态管理和页面信息的传递。

(2)简述Response对象。

答:Response对象用来访问所创建的并客户端的响应,输出信息到客户端,它提供了标识服务器和性能的HTTP变量,发送给浏览器的信息和在cookie中存储的信息。

它也提供了一系列用于创建输出页面的方法,如无所不在的Response . Write方法。

(3)简述Request对象。

答:Request对象是用来获取客户端在请求一个页面或传送一个Form时提供的所有信息,这包括能够标识浏览器和用户的HTTP变量,存储在客户端的cookie信息以及附在URL 后面的值(查询字符串或页面中< Form>段中的HTML控件内的值)。

(4)简述Application对象。

答:在环境下,Application对象来自HttpApplictionStat类。

它可以在多个请求、连接之间共享公用信息,也可以在各个请求连接之间充当信息传递的管道。

使用Application对象来保存我们希望传递的变量。

由于在整个应用程序生存周期中,Application 对象都是有效的,所以在不同的页面中都可以对它进行存取,就像使用全局变量一样方便。

(5)简述Session对象。

答:Session对象就是服务器给客户端的一个编号。

当一台WEB服务器运行时,可能有若干个用户浏览正在浏览这台服务器上的网站。

当每个用户首次与这台WWW服务器建立连接时,他就与这个服务器建立了一个Session,同时服务器会自动为其分配一个SessionID,用以标识这个用户的唯一身份。

特别说明的是Session对象的变量只是对一个用户有效,不同的用户的会话信息用不同的Session对象的变量存储。

在网络环境下Session对象的变量是有生命周期的,如果在规定的时间没有对Session对象的变量刷新,系统会终止这些变量。

(6)简述Server对象。

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

其中大多数方法和属性是作为实用程序的功能服务的。

Server对象也是Page对象的成员之一,主要提供一些处理页面请求时所需的功能;例如建立COM对象、将字符串的编译码等工作。

(7)简述Cookie对象。

答:cookie是一小块由浏览器存贮在客户端系统上(硬盘)的文本,是一种标记。

由WEB服务器嵌入用户浏览器中,以便标识用户,且随同每次用户请求发往WEB服务器。

Cookies 的值比A S 其他集合(例如Form和Server Variables )的值要复杂得多。

(8)简述Mail对象。

答:被赋予了一个发送Email的新对象,名为SmtpMail,实际上Mail对象由System.Web.Mail类库实现(Class Library)。

这个类库由MailMessage对象、Sm tpMail 对象、MailFormat对象和MailAttachm ent对象组成,它们相互合作,完成E-m ail的发送。

(9)简述GET传送方式。

*********************
中常用的内置对象(一)
中常用的内置对象及功能说明如下所示:
对象名功能说明
Page用于操作整个页面
Response用于向浏览器输出信息
Request用于获取来自浏览器的信息
Server 提供服务器端的一些属性和方法
Application 用于共享多个会话和请求之间的全局信息
Session 用于存储特定用户的会话信息
Cookies 用于设置或获取Cookie信息
一..Page对象
Page对象是由System.Web.UI命名空间中的Page类来实现的,Page 类与扩展名为.aspx 的文件相关联,这些文件在运行时被编译为Page对象,并缓存在服务器内存中。

Page对象提供的常用属性、方法及事件如下所示:
名称功能说明
IsPostBack属性获取一个值,该值表示该页是否正为响应客户端回发而加载
IsValid属性获取一个值,该值表示页面是否通过验证Application属性为当前 Web 请求获取Application 对象。

Request属性获取请求的页的HttpRequest 对象Response属性获取与 Page 关联的HttpResponse 对象。

该对象使您得以将HTTP 响应数据发送到客户端,并包含有关该响应的信息。

Session属性获取 提供的当前Session 对象。

Server属性获取Server 对象,它是HttpServerUtility 类的实例。

DataBind方法将数据源绑定到被调用的服务器控件及其所有子控件
RegisterClientScriptBlock方法向页面发出客户端脚本块
Init事件当服务器控件初始化时发生
Load事件当服务器控件加载到Page对象中时发生
Unload事件当服务器控件从内存中卸载时发生
1.IsPostBack属性
IsPostBack属性用来获取一个布尔值,如果该值为true,则表示当前页是为响应客户端回发(例如单击按钮)而加载,否则表示当前页是首次加载和访问。

private void Page_Load(object sender, System.EventArgs e)
{
if( !Page.IsPostBack )
{
Label1.Text = "页面第一次加载!";
}
else
{
Label1.Text = "页面第二次或第二次以上加载!";
}
}
IsValid属性
IsValid属性用来获取一个布尔值,该值指示页验证是否成功,如果页验证成功,则为true;否则为false。

一般在包含有验证服务器控件的页面中使用,只有在所有验证服务器控件都验证成功时,IsValid属性的值才为true。

private void Button_Click(Object Sender, EventArgs e) {
if (Page.IsValid == true) //也可写成if (Page.IsValid)
{
mylabel.Text="您输入的信息通过验证!";
}
else
{
mylabel.Text="您的输入有误,请检查后重新输入!";
}
}
二.Request对象
Request对象是由类System.Web.HttpRequest来实现的。

当客户请求ASP. NET页面时,所有的请求信息,包括请求报头、请求方法、客户端基本信息等都被封装在Request对象中,利用Request对象就可以读取这些请求信息。

R equest对象常用的属性和方法如下所示。

名称功能说明
Cookies属性获取客户端发送的Cookie的集合
Form属性获取表单变量的集合
QueryString属性获取HTTP查询字符串变量集合
Form表单数据提交到服务器的方式有两种:Get和Post方式。

i. . get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。

post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。

用户看不到这个过程。

ii. . 对于get方式,服务器端用Request.QueryString获取变量的值,对于p ost方式,服务器端用Request.Form获取提交的数据。

iii. get传送的数据量较小,不能大于2KB。

post传送的数据量较大,一般被默认为不受限制。

但理论上,IIS4中最大量为80KB,IIS5中为100KB。

iv. get安全性非常低,post安全性较高。

Form数据集合
使用Request的Form集合来获取客户端通过POST方法传送的表单数据,例如,服务器上有两个网页form.htm和do.aspx,form.htm中包含一个表单,表单传送数据的方法为POST,并且表单提交到同一目录下的do.aspx。

form. htm的代码如下:
<html>
<head>
<title>使用POST传送数据</title>
</head>
<body>
<form method="post" action="do.aspx">
请输入您的名字:<input type="text" name="mingzi"><br>
<input type="submit" value="提交">
</form>
</body>
</html>
在do.aspx中将使用Request.Form["mingzi"]来获取用户输入的名字,do. aspx的代码如下:
private void Page_Load(Object o,EventArgs e)
//页面加载后即显示表单数据
{
string strmessage="您的名字为:"; //定义字符串变量并赋初值
strmessage+= Request.Form["mingzi"]; //把表单数据串接到变量
Response.Write(strmessage);//输出变量
}
QueryString数据集合
可以利用QueryString集合来获取客户端通过GET方法传送的表单数据,如果把form.htm中表单的method属性值由POST改为GET,则在do.aspx中就需要通过Request.QueryString ["mingzi"]来获取输入的名字。

因为GET 方法传送数据有一定的限制并且不安全,所以表单一般不使用GET方法。

private void Page_Load(object sender, System.EventArgs e)
{
if(Request.QueryString["mingzi"].ToString()!="")
Response.Write("您的名字是:"+Request.QueryString["mingzi"].To String());
}
在Web应用程序开发中,QueryString常用来获取URL查询字符串中变量的值,这与使用GET方法传送表单数据的情况一样。

例如,客户端使用如下地址请求:http://localhost/doit.aspx?name=zhangsan&sex=nan
或打开如下的超级链接:
<a href="http://localhost/doit.aspx?name=zhangsan&sex=nan">d oit.aspx</a>
在doit.aspx中就可以使用Request.QueryString["name"]和Request.Qu eryString["sex"]来获取相应的值zhangsan和nan。

******************************
本想写一篇总结内置对象的文章,结果发现网上有篇不错的,就转了过来
的内置对象介绍
1.Response
2.Request
3.Server
4.Application
5.Session
6.Cooki
Request对象主要是让服务器取得客户端浏览器的一些数据,包括从HTML表单用Post或者GET方法传递的参数、Cookie和用户认证。

因为Request对象是Page对象的成员之一,所以在程序中不需要做任何的声明即可直接使用;
其类名为HttpRequest
属性很多,但方法很少,只有一个BinaryRead()
1.使用Request.Form属性获取数据
通过该属性,读取<Form></Form>之间的表单数据.注意:提交方式要设置为“Post”。

与Get方法相比较,使用Post方法可以将大量数据发送到服务器端
2.利用Request.QueryString属性获取数据
Request对象的QuerySting属性可以获取HTTP 查询字符串变量集合。

通过该属性,我们可以读取地址信息http://localhost/aaa.aspx?uid=tom&pwd=abc其中标识为红色部分的数据.
注意:提交方式要设置为“Get”
3.问题:Request.Form用于表单提交方式为Post的情况,而Request.QueryString用于表单提交方式为Get的情况,如果用错,则获取不到数据。

解决方法:利用Request(“元素名”)来简化操作。

4.Request.ServerVariables("环境变量名称")
类似的还有:UserHostAddress,Browser,Cookies,ContentType,IsAuthenticated Item,Params
Response对象用语输出数据到客户端,包括向浏览器输出数据、重定向浏览器到另一个URL 或向浏览器输出Cookie文件。

其类名为httpResponse
属性和方法
Write() 向客户端发送字符串信息
BufferOutPut属性是否使用缓存
Clear() 清除缓存
Flush() 强制输出缓存的所有数据
Redirect() 网页转向地址
End() 终止当前页的运行
WriteFile() 读取一个文件,并且写入客户端输出流
(实质:打开文件,并且输出到客户端。


1.Response.Write 变量数据或字符串
Response.Write (变量数据或字符串)
<%=…%>
Response.Write("<script language=javascript>alert('欢迎学习
')</script>")
Response.Write("<script>window.open('WebForm2.aspx')</script>")
2.Response对象的Redirect方法将客户端浏览器重定向到另外的URL上,即跳转到另一个网页。

例如:
Response.Redirect("/")
3. Response.End() 终止当前页的运行
4.Response.WriteFile(FileName)
其中:
FileName 指代需向浏览器输出的文件的文件名
Server对象提供对服务器上的方法和属性进行的访问 .其类名称是HttpServerUtility. Server对象的主要属性有:
MachineName:获取服务器的计算机名称。

ScriptTim eout:获取和设置请求超时(以秒计)。

方法名称说明
CreateObject 创建COM 对象的一个服务器实例。

Execute 执行当前服务器上的另一个aspx页,执行完该页后再返回本页继续执行
Ht mlEncode 对要在浏览器中显示的字符串进行HTML编码并返回已编码的字符串。

Ht mlDecode 对HTML编码的字符串进行解码,并返回已解码的字符串。

MapPath 返回与Web 服务器上的指定虚拟路径相对应的物理文件路径。

Transfer 终止当前页的执行,并为当前请求开始执行新页。

UrlEncode 将代表URL的字符串进行编码,以便通过URL 从Web 服务器到客户端进行可靠的HTTP 传输。

UrlDecode 对已被编码的URL字符串进行解码,并返回已解码的字符串。

UrlPathEncode 对URL 字符串的路径部分进行URL 编码,并返回已编码的字符串。

编码:
Server.Ht mlEncode(“HTML代码”)
解码:
Serve r.Ht mlDecode(“已编码的HTML”)
1.Server对象的MapPath方法将虚拟路径或相对于当前页的相对路径转化为Web 服务器上的物理文件路径。

语法:Server.MapPath(“虚拟路径”)
String FilePath
FilePath = Server.MapPath(“/”)
Response.Write(FilePath)
Application对象在实际网络开发中的用途就是记录整个网络的信息,如上线人数、在线名单、意见调查和网上选举等。

在给定的应用程序的多有用户之间共享信息,并在服务器运行期间持久的保存数据。

而且Application对象还有控制访问应用层数据的方法和可用于在应用程序启动和停止时触发过程的事件。

1.使用Application对象保存信息
使用Application对象保存信息
Application(“键名”) =值

Application(“键名”,值)
获取Application对象信息
变量名= Application(“键名”)
或:变量名= Application.Item(“键名”)
或:变量名= A pplication.Get(“键名”)
更新Application对象的值
Application.Set(“键名”, 值)
删除一个键
Application.Remove(“键名”, 值)
删除所有键
Application.RemoveAll()
或Application.Clear()
2.有可能存在多个用户同时存取同一个Application对象的情况。

这样就有可能出现多个用户修改同一个Application命名对象,造成数据不一致的问题。

HttpApplicationState 类提供两种方法Lock 和Unlock,以解决对Application对象的访问同步问题,一次只允许一个线程访问应用程序状态变量。

关于锁定与解锁
锁定:Application.Lock()
访问:Application(“键名”) =值
解锁:Application.Unlock()
注意:Lock方法和UnLock方法应该成对使用。

可用于网站访问人数,聊天室等设备
3. 使用Application事件
在 应用程序中可以包含一个特殊的可选文件——Global.asax 文件,也称作 应用程序文件,它包含用于响应或HTTP模块引发的应用程序级别事件的代码。

Global.asax 文件提供了7个事件,其中5个应用于Application对象
事件名称说明
Application_Start 在应用程序启动时激发
Application_BeginRequest 在每个请求开始时激发
Application_AuthenticateRequest 尝试对使用者进行身份验证时激发
Application_Error 在发生错误时激发
Application_End 在应用程序结束时激发
Session即会话,是指一个用户在一段时间内对某一个站点的一次访问。

Session对象在.NET中对应HttpSessionState类,表示“会话状态”,可以保存与当前用户会话相关的信息。

Session对象用于存储从一个用户开始访问某个特定的aspx的页面起,到用户离开为止,特定的用户会话所需要的信息。

用户在应用程序的页面切换时,Session对象的变量不会被清除。

对于一个Web应用程序而言,所有用户访问到的Application对象的内容是完全一样的;而不同用户会话访问到的Session对象的内容则各不相同。

Session可以保存变量,该变量只能供一个用户使用,也就是说,每一个网页浏览者都有自己的Session对象变量,即Session对象具有唯一性。

(1)将新的项添加到会话状态中
语法格式为:
Session ("键名") =值
或者
Session.Add( "键名" , 值)
(2)按名称获取会话状态中的值
语法格式为:
变量= Session ("键名")
或者
变量= Session.Item("键名")
(3)删除会话状态集合中的项
语法格式为:
Session.Remove("键名")
(4)清除会话状态中的所有值
语法格式为:
Session.RemoveAll()
或者
Session.Clear()
(5)取消当前会话
语法格式为:
Session.Abandon()
(6)设置会话状态的超时期限,以分钟为单位。

语法格式为:
Session.TimeOut =数值
Global.asax 文件中有2个事件应用于Session对象
事件名称说明
Session_Start 在会话启动时激发
Session_End 在会话结束时激发
Cookie就是Web服务器保存在用户硬盘上的一段文本。

Cookie允许一个Web站点在用户的电脑上保存信息并且随后再取回它。

信息的片断以…键/值‟对的形式存储。

Cookie是保存在客户机硬盘上的一个文本文件,可以存储有关特定客户端、会话或应用程序的信息,在.NET中对应HttpCookie类。

有两种类型的Cookie:会话Cookie(Session Cookie)和持久性Cookie。

前者是临时性的,一旦会话状态结束它将不复存在;后者则具有确定的过期日期,在过期之前Cookie在用户的计算机上以文本文件的形式存储。

在服务器上创建并向客户端输出Cookie可以利用Response对象实现。

Response对象支持一个名为Cookies的集合,可以将Cookie对象添加到该集合中,从而向客户端输出Cookie。

通过Request对象的Cookies集合来访问Cookie
**********************
本章主要介绍的内置对象及应用程序的配置,并在最后一节介绍网站的预编译和编译。

的内置对象包括Request、Response、Server、
Application、Session、Cookie等。

应用程序的配置部分主要包括了解应用程序配置、基本配置元素、自定义应用程序设置的配置和检索等。

下面将分别对这些内容进行阐述。

14.1 内置对象
提供了许多内置对象,前面所使用的Response对象就是其中一个。

这些对象提供了相当多的功能,例如,可以在两个网页之间传递变量、输出数据,以及记录变量值等。

这些对象在ASP时代已经存在,到了环境下,这些功能仍然可以使用。

而且,它们的种类更多,功能也更强大。

内置对象是由IIS控制台初始化的ActiveX DLL组件。

因为IIS可以初始化这些内置组件用于中,所以用户也可以直接引用这些组件来实现自己的编程,即可以在应用程序中,通过引用这些组件来实现访问内置对象的功能。

本节将对的这些内置对象,以及Cache对象和Global文件进行详细的讲解。

14.1.1 Response对象
Response对象是HttpResponse类的一个实例。

该类主要是封装来自操作的HTTP响应信息。

1.Response对象的属性
Response对象的属性如表14-1所示。

表14-1 Response对象的属性
属性说明属性值
BufferOutput
获取或设置一个值,该值指示是否缓冲输出,并在完成处理整个页之后将其
发送
如果缓冲了到客户端的输出,则为true;否则为false。

默认
为true
续表
属性说明属性值Cache获取Web页的缓存策略(过期时间、保密性、变化子句)包含有关当前响应的缓存策略信息的HttpCachePolicy对象Charset获取或设置输出流的HTTP字符集输出流的HTTP字符集
IsClientConnected获取一个值,通过该值指示客户端是否仍连接在服务器上如果客户端当前仍在连接,则为true;否则为false
实例14-1:使用缓冲区
由于Response对象的BufferOutput属性默认为True,所以要输出到客户端的数据都暂时存储在缓冲区内,等到所有的事件程序,以及所有的页面对象全部解译完毕后,才将所有在缓冲区中的数据送到客户端的浏览器。

下面的例子将演示缓冲区是如何工作的。

<%
Response.Write("缓存已清除" + "<Br>");
%>
<Script Language="C#" Runat="Server">
void Page_Load(Object sender, EventArgs e)
{
Response.Write("缓存清除前" + "<Br>");
Response.Clear();
}
</Script>
上述程序代码实例首先在“Page_Load”事件中送出“缓存清除前”这一行,此时的数据存在缓冲区中。

接着使用Response对象的Clear方法将缓冲区的数据清除,所以刚刚送出的字符串已经被清除。

然后IIS开始读取HTML组件的部分,并将结果送至客户端的浏览器。

由执行结果只出现“缓存已清除”可知,使用Clear方法之前的数据并没有出现在浏览器上,所以程序开始时是存在缓冲区内的。

如果在相同的程序中加入“Response.BufferOutput=false”:
<%
Response.Write("清除之后的数据<Br>");
%>
<Script Language="C#" Runat="Server">
void Page_Load(Object sender, EventArgs e)
{
Response.BufferOutput=false;
Response.Write("清除缓冲区之前的数据" + "<Br>");
Response.Clear();
}
</Script>
可以发现,执行的结果并没有因为使用Clear方法而将缓冲区的数据清除,这表明数据是直接输出而没有存放在缓冲区内。

2.Response对象的方法
Response对象可以输出信息到客户端,包括直接发送信息给浏览器、重定向浏览器到另一个URL或设置cookie的值。

表14-2列举了几个常用的方法。

表14-2 Response对象的方法
方法说明
Write将指定的字符串或表达式的结果写到当前的HTTP输出
End停止页面的执行并得到相应结果
Clear用来在不将缓存中的内容输出的前提下,清空当前页的缓存,仅当使用了缓存输出时,才可以利用Clear方法
将缓存中的内容立即显示出来。

该方法有一点和Clear方法一样,它在脚本前面没有将Buffer属性设置为True时会出错。

和End方法不同的是,该方Flush
法调用后,该页面可继续执行
Redirect使浏览器立即重定向到程序指定的URL
中引用对象方法的语法是“对象名.方法名”。

“方法”就是嵌入到对象定义中的程序代码,它定义对象怎样去处理信息。

使用嵌入的方法,对象便知道如何去执行任务,而不用提供额外的指令。

以下将通过几个小例子来讲解Response对象的常用方法。

实例14-2:使用Response.write,向客户端发送信息
for(int i=1;i<=500;i++)
{
Response.Write("i= "+i+"<BR>");
}
本例使用“write”方法,向屏幕输出500个值。

实例14-3:使用Response.End方法调试程序
End方法可以停止当前页面的执行,基于这个原因,可以结合Response.write方法输出当前页面上的某个变量、数组值。

<form id="Form1" method="post" runat="server">
输入一个数值:<asp:Text Box id="t xtVar" runat="server"></asp:TextBox>
<asp:Button id="btnSubmit" runat="server" Text="计算该值的平方值"
onclick="btnSubmit_Click"></asp:Button>
</form>
<Script Language="C#" Runat="Server">
void btnSubmit_Click(Object sender, EventArgs e)
{
int N = int.Parse(Request.Form["t xtVar"].ToString());
Response.Write("N=" + N + "<br>");
Response.Write("该值的平方值是:" + N*N);
}
</Script>
运行上面的代码,结果如图14-1所示。

图14-1 使用Response.End调试程序
输入一个值“6”,然后单击“计算该值的平方值”按钮,屏幕将显示如下结果:N=6
该值的平方值是:36
在代码中加上“Response.End()”,代码如下:
<Script Language="C#" Runat="Server">
void btnSubmit_Click(Object sender, EventArgs e)
{
int N = int.Parse(Request.Form["t xtVar"].ToString());
Response.Write("N=" + N + "<br>");
Response.End();
Response.Write("该值的平方值是:" + N*N);
}
</Script>
这时再运行代码,将只会显示:
N=6
实验证明,“Response.End()”方法停止了当前页面的执行。

这仅仅是一个小例子,读者可以依此类推,在程序中使用End方法进行调试。

不过千万要记住调试完代码后,不要忘记把调试用的“Response.End()”删掉。

实例14-4:使用Redirect方法进行页面重定向
在网页编程中,经常会遇到在程序执行到某个位置进行页面调转的情况。

Response.Redirect方法可以满足这种需求,例如代码:
Response.Redirect("");
执行该代码,页面将跳转到网易163的主页。

14.1.2 Request对象
Request对象是HttpRequest类的一个实例。

它能够读取客户端在Web请求期间发送的HTTP值。

1.Request对象的属性
Request对象的属性如表14-3所示。

表14-3 Request对象的属性
属性说明属性值QueryString获取 HTTP 查询字符串变量集合NameValueCollection对象
Path获取当前请求的虚拟路径当前请求的虚拟路径
UserHostAddress获取远程客户端的 IP 主机地址远程客户端的IP地址
Browser获取有关正在请求的客户端的浏览器功能的信息HttpBrowserCapabilities对象
实例14-5:获取QueryString值
程序中,经常可以使用QueryString来获得从上一个页面传递来的字符串参数。

例如,在页面1中创建一个连接,指向页面2,并用QueryString来查询两个变量:
<a href="Page2.aspx?ID=6&Name=Wang">查看</a>
在页面2中接收到从页面1中传过来的两个变量:
<Script Language="C#" Runat="Server">
void Page_Load(object sender, System.EventArgs e)
{
Response.Write("变量ID的值:" + Request.QueryString["ID"] +"<br>");
Response.Write("变量Name的值:" + Request.QueryString["Name"]);
}
</Script>
运行上面代码结果如下:
变量ID的值:6
变量Name的值:Wang
上面的例子可以成功地得到QueryString的值。

用类似方法,可以获取Form,Cookies,SeverVaiables的值。

调用方法都是:
Request.Collectlon[”VariabLe”]
Collectlon包括QueryString,ForM,Cookies,SeverVaiables四种集合,VariabLe 为要查询的关键字。

不过,这里的Collectlon是可以省略的,也就是说,Request["Variable"]与Request.Collection["Variable"]这两种写法都是允许的。

如果省略了Collection,那么Request对象会依照QueryString,Form,Cookies,SeverVaiables的顺序查找,直至发现Variable所指的关键字并返回其值,如果没有发现其值,方法则返回空值(Null)。

不过,为了优化程序的执行效率,建议最好还是使用Collection,因为过多地搜索就会降低程序的执行效率。

2.Request对象的方法
Request对象的方法如表14-4所示。

表14-4 Request对象的方法
方法说明
BinaryRead执行对当前输入流进行指定字节数的二进制读取
MapPath为当前请求将请求的 URL 中的虚拟路径映射到服务器上的物理路径
实例14-6:获取文件的物理路径
Request.MapPath("FileName");
可以通过这条语句来得到某个文件的实际物理位置,这个方法常常用在需要使用实际路径的地方。

14.1.3 Application对象
Application对象是HttpApplicationState类的一个实例。

HttpApplicationState类的单个实例,将在客户端第一次从某个特定的应用程序虚拟目录中请求任何URL资源时创建。

对于Web服务器上的每个应用程序,都要创建一个单独的实例。

然后通过内部Application对象公开对每个实例的引用。

Application对象有如下特点:
—数据可以在Application对象内部共享,因此一个Application对象可以覆盖多个用户。

—一个Application对象包含事件,可以触发某些Applicatin对象脚本。

—个别Application对象可以用Internet Service Manager来设置而获得不同属性。

—单独的Application对象可以隔离出来在它们自己的内存中运行,这就是说,如果一个人的Application遭到破坏,就不会影响其他人。

—可以停止一个Application对象(将其所有组件从内存中驱除)而不会影响到其他应用程序。

一个网站可以有不止一个Application对象。

典型情况下,可以针对个别任务的一些文件创建个别的Application对象。

例如,可以建立一个Application对象来适用于全部公用用户,而再创建另外一个只适用于网络管理员的Application对象。

Application对象使给定应用程序的所有用户之间共享信息,并且在服务器运行期间持久地保存数据。

因为多个用户可以共享一个Application对象,所以必须要有Lock和Unloc k方法,以确保多个用户无法同时改变某一属性。

Application对象成员的生命周期止于关闭IIS或使用Clear方法清除。

1.Application对象的属性
Application对象的属性如表14-5所示。

表14-5 Application对象的属性
属性说明属性值AllKeys获取HttpApplicationState集合中的访问键HttpApplicationState对象名的字符串数组
Count获取HttpApplicationState集合中的对象数集合中的Item对象数。

默认为0
2.Application对象的方法
Application对象的方法如表14-6所示。

表14-6 Application对象的方法
方法说明
Add新增一个新的Application对象变量
Clear清除全部的Application对象变量
Get使用索引关键字或变数名称得到变量值
GetKey使用索引关键字來获取变量名称
Lock锁定全部的Application变量
Remove使用变量名称删除一个Application对象
RemoveAll删除全部的Application对象变量
Set使用变量名更新一个Application对象变量的內容
UnLock解除锁定的Application变量。

相关文档
最新文档