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