什么是 A .NET A lication ?
A .NET这么定义A lication:它是运行在Web应用服务器上的一个虚拟
目录及其子目录下的所有文件、页面、模块以及可执行代码的总和。比如
说,一个叫做"order"的a lication可能就是http://edu.itbulo.com/server/Web/'>Web服务器的一
个"/order"虚拟目录。虚拟目录可以通过Internet
Services Manager设置,它可以包含任何子目录。
http://edu.itbulo.com/server/Web/'>Web服务器上的每一个A .NET a lication 运行在一个独特的.NET运
行时间应用域中,它保证了类隔离(不会产生译文或者命名冲突)、安全
盒(防止对特定机器或者网络资源的访问)以及静态变量的隔离。
在一个Web A lication的整个生存过程中,A .NET维护着一个
HttpA lication实例池,自动地分配这些实例中的一个以处理
a lication接收到的每个HTTP请求。被分配的特殊HttpA lication实
例负责管理整个生命期的请求,只有当请求结束时,它才能被再使用。这
表示其中的用户代码不需用再进入。
创建A lication
要创建一个A .NET A lication,我们可以使用存在的虚拟目录,或者
创建一个新的虚拟目录。比如,在安装了包含IIS的Windows
2000服务器上,大概会有一个目录C:\InetPub\WWWRoot;我们使用
Internet Services Manager来配置IIS,在" tart
-> Programs -> Administrative Tool quot;下,用鼠标右键单击存在的
目录,或者选择new来创建一个新的虚拟目录,或者选择Properties来提
升一个存在的普通目录为虚拟目录。
现在看看如何触发A .NET a lication。我们可以编写一个
simple.a x文件,将它放置到虚拟目录下,然后在浏览器中访问它。为
对照方便,我们列出了使用VB、C#以及JScript三种语言编写的代码:
C#
<%@Page Language="C#"%>
<html>
< ody>
<h1>hello world, <% Re o e.Write(DateTime.Now.ToString
()); %> lt;/h1>
</body>
</html>
VB
<%@Page Language="V quot;%>
<html>
< ody>
<h1>hello world, <% Re o e.Write(DateTime.Now.ToString())
%> lt;/h1>
</body>
</html>
JScript
<%@Page Language="JScript"%>
<html>
< ody>
<h1>hello world, <% Re o e.Write(DateTime.Now.ToString
()); %> lt;/h1>
</body>
</html>
代码很简单,只是在浏览器中打印出当前时间的信息。我们可以添加些代
码来使用A lication对象,比如将对象保存为a lication范围类型。
通过创建一个global.asax文件,我们还可以定义各种事件处理程序,比
如A lication_O tart事件触发器。


