server 是 ASP 中的一个内置对象, 有一个方法为 Execute。
用法是:server.Execute(path)
它和 include 包含文件的功能很相似,不同之处是“包含文件”与“被包含文件”之间在变量和函数上是相互隔绝的。
比如两个页面文件:
a.asp
<%
dim c
c = "1"
response.Write(c)
server.Execute("b.asp")
response.Write(c)
%>
b.asp
<%
dim c
c = "2"
response.Write(c)
%>
显示结果为:121
两个页面都定义了变量 c,但不会报错说名称重定义,因为两个文件之间在变量和函数上是相互隔绝的,但如果在 a.asp 中是使用 include 包含 b.asp,便会报错说名称重定义。
注意:b.asp 同样可以“享用”客户端通过 POST 或 GET 提交给 a.asp 的值。
server.Execute 也可以形成递归 ,但递归达到一定的次数后不会像 server.Transfer 一样自动终止,而是报错并终止。
Server.Execute和#include相异之处:
Execute Method 是个呼叫一个.asp 程序并执行它,比较类似一般程式语言的 procedure call;而 #include 则仅將所包含的程序插入原程序当中。