Server.Execute Method
Execute方法调用了一个.asp文件,处理它,就像它是调用ASP脚本的一部分。Execute方法近似于很多编程语句中的一个过程调用。
Execute( Path )
参数
- Path
- 一个字符串,指示了要执行的.asp文件的位置。Path参数既可以是绝对路径也可以是相对路径。如果Path是绝对路径,它一定得映射到同一个应用程序中的一个ASP脚本,就像调用.asp文件那样。Path可以是一个字符串变量名,在运行时中设置。参数的路径不能包含一个查询字符串,否则IIS会返回一个错误。
返回值
该方法没有返回值
示例代码
在下面的示例中,浏览器语言确定了执行哪个.asp文件。因为code page的不兼容性,多字节字符的语言没有包含在这个示例中。来自那些脚本的输出在一个美国英语系统中是:
Company Name Welcome to my Website!
来自这些脚本的输出,出现在德语系统中,是:
Company Name Willkommen zu meinem Website!
来自这些脚本的输出,出现在西班牙语系统中,是:
Company Name Recepción a mi Website! --- Welcome.asp --- <HTML> <BODY> <H1>Company Name</H1> <% AcceptLang = Request.ServerVariables("HTTP_ACCEPT_LANGUAGE") Lang = Left(AcceptLang, 2) Server.Execute(Lang & "Welcome.asp") %> </BODY> </HTML> --- EnWelcome.asp --- <% Response.Write "Welcome to my Website!" %> --- DeWelcome.asp <% Response.Write "Willkommen zu meinem Website!" %> --- EsWelcome.asp --- <% Response.Write "Recepción a mi Website!" %>
适用于
备注
Server.Execute方法提供一个把复杂应用程序分流到单个模块的方法。通过调遣Server.Execute方法,你可以开发一个.asp文件的库,在你需要的时候调用它。这种实现方法是服务器端包含指令的替代方式。主要区别是,你可以通过使用Server.Execute来动态调用一个.asp文件。
如果Path参数中包含了下面的字符之一,Server.Execute方法就会返回ASP 0173错误:“Invalid Path Character”:
- 星号(*)
- 问号 (?)
- 尖括号 (< or >)
- 逗号 (,)
- 冒号或分号(: or ;)
- 单引号或双引号(' or ")
- 右方括号 (])
- 双斜线 (// or \\)
在IIS处理Server.Execute的输入参数中指定的.asp文件之后,响应返回到调用的ASP脚本。
下面的集合和属性可以用在被执行ASP页面中:
- Application变量,哪怕它们是在调用页中设置的。
- Session属性,哪怕它们是在调用页中设置的。
- Server变量和属性,哪怕他们是在调用页中设置的。
- Request集合和属性,哪怕它们是在调用网页中设置的。这包括传递给调用页面的Form数据和QueryString数据。
- Response集合和属性。被执行的.asp文件可以修改HTTP头。然而,就像任何.asp文件,如果被执行的.asp文件在已经把响应发送到客户端之后,还试图修改HTTP头,它会生成一个错误。
如果在调用网页中利用#include指定包含了一个文件,被执行的.asp并不能使用它。举个例子,在你调用的网页中包含了一个文件,该文件拥有一个子程序,但是被执行的.asp文件将不能识别这个子程序名。你一定得在每个需要该子程序的被执行的.asp中包含这个文件。
如果调用的.asp文件和被调用的.asp文件都包含了一个事务指令,事务指令的状态将应用到包含该指令的.asp文件中。举个例子,如果调用ASP1后面调用了ASP2,当处理ASP2时,事务会被中止,会调用ASP2的OnTransactionAbort(如果存在话)在ASP2完成处理之后,会调用ASP1的OnTransactionAbort(如果存在的话)。下面的代码演示了这一点。
ASP1: <%@ Transaction=Required %> <% Server.Execute ("ASP2.asp") Sub OnTransactionAbort Sub OnTransactionCommit %> ASP2.asp: <%@ Transaction=Required %> <% Sub OnTransactionAbort Sub OnTransactionCommit %>
必备条件
Client: Requires Windows XP Professional, Windows 2000 Professional, or Windows NT Workstation 4.0.
Server: Requires Windows Server 2003, Windows 2000 Server, or Windows NT Server 4.0.
Product: IIS