利用服务器端的包含(SSI)语句(或者指令)能够做些什么呢?实际上不多,除非打算创建在Web服务器上运行的可执行文件,并通过stdin和stdout函数访问ISAPI。这就意味能够用C、C++或其他语言(如Delphi)等编写它们,但VB并不适合。此外,使用SSI指令能够做的事情可达到与在ASP中实现同样好的效果。许多方法中,IIS的SSI特性对使用这些特性的原有的Web网站和Web页面具有向下兼容性。 然而,可能有时会希望在站点上使用SSI而不是ASP。在IIS 5.0中,服务器端的包含指令能够比以前更加容易地集成到一个远程站点上的ASP页,它们是有用的,特别是作为执行操作系统命令或原有的CGI应用程序的一种方式。后面将会非常详细地介绍可用的指令。 #include指令是这些指令之一,它已经与ASP一起使用了一段时间了,同样也在SSI页中使用。事实上,这已经对那些不具备传统的Web开发背景的ASP开发人员带来了很多混乱。 4.2.1 不可思议的ASP #include指令 在一个ASP页中,可以使用#include指令把另一个文件的内容插入到当前的页面中: <!-- #include file=”/scripts/usefulbits.inc” --> 这条指令读取该文件的全部内容并插入到该页中,替代<!-- #include.. -->行。这是一种非常有用的插入HTML段落的技术,可反复使用。也常用该指令来插入代码段。例如,如果有一个包含几个脚本函数(或者只是单行脚本代码)的文件同时在几个页面中使用,则可以使用#include指令将其插入到需要它的每个页中。 通过把脚本和内容分开的方法,给页面提供了一个组成层次。这意味着如果对脚本进行了修改,在客户端再次打开该页面时,脚本的修改情况自动地反映到使用包含文件的每个页面中。包含文件也是一种插入服务器特定的信息的简单方法,所以把站点转移到另一个服务器不意味着必须编辑涉及原来服务器的所有页面(明显的例子是数据库连接字符串或指定一个完整的URL或服务器名字的链接)。这可以极大地减少维护费用。 例如,可以把下面的内容作为一个包含文件,命名为connect.inc: <% strConnect = “SERVER=myserver;DATABASE=mydb;DRIVER={SQL Server};” _ & “UID=username;PWD=secretpassword” %> 然后可以在任何页中使用这个文件: <!-- #include file=”path_to_fileconnect.inc” --> <% … strTheConnectionString = strConnect 'From include file |