图3-2 缺省Web网站的Properties对话框
涉及到ASP应用程序的文件之一是global.asa。这个文件用于定制应用程序行为的方式。放置在应用程序的根目录下,可用于该目录下的所有子目录。因此,如果它放置在整个Web站点的根目录下,则定义整个网站作为缺省的ASP应用程序的一部分。
在本章后面有关应用程序和会话事件的部分中,将看到这个文件及其使用方法。
(2) ASP虚拟应用程序
如同在设置过程中创建缺省的应用程序一样,可以在该Web网站的任何子目录中创建属于自己的ASP虚拟应用程序。这个应用程序包含作为“应用程序目录”而定义的目录中所有的子目录。并且,这个目录和子文件夹也都是缺省应用程序的一部分,共享由缺省的Application对象创建的全局空间。
事实上,在缺省的应用程序中存储的所有变量在子目录中的应用程序中也都是可用的。然而,如果该子目录应用程序中的一个ASP网页把一个值写入Application对象,而Application对象与缺省(根)应用程序中已存在的一个值有相同的名字,那么,原先的值在子目录应用程序中就不能再用。但是在其他的应用程序或ASP网页中,将保留原有的值,因为根目录的应用程序不能访问子目录应用中的值。
从一个子程序或函数的变量的角度考虑这个问题。如果定义一个变量intMyValue为Public或全局的变量,可以从任何的子程序或函数内部访问该变量。但是,如果又声明一个具有相同名字的局部变量,并在该子程序或函数内对该变量进行引用,则得到此变量的局部值。不能再访问原先的值。当子程序或函数结束,局部值被撤消,全局变量原有的值仍然保留着:
Public intMyValue = 42
Function DoSomething()
Response.Write intMyValue ‘Gives 42 from global variable
Dim intMyValue
IntMyValue = 17
Response.Write intMyValue ‘Gives 17 from new local variable,but
; ‘the global value of MyValue is still 42
End Function
(3) 创建自己的ASP虚拟应用程序
为了建立一个新的虚拟应用程序,使用Internet Services Manager应用程序或具有相同功能的HTML Web Manager网页。在 Internet Services Manager中,在要创建的虚拟应用程序的目录上单击右键,并选择New,接着选择Virtual Directory,屏幕如图3-3所示: