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对象

备注

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

如果你喜欢这篇文章,敬请给站长打赏↑

除特别注明外,本站所有文章均为本站站长原译,转载请注明出处。