Server.Execute
The Execute method calls an .asp file, and processes it as if it were part of the calling ASP script. The Execute method is similar to a procedure call in many programming languages.
Syntax
Server.Execute(Path)
Parameters
- Path
A string specifying the location of the .asp file to execute. The Path parameter may be for either an absolute or a relative path. If Path is absolute, it must map to an ASP script in the same application as the calling .asp file. Path can be a string variable name that is set at run-time. The Path parameter must not contain a query string, or IIS returns an error.
Remarks
The Server.Execute method provides a way of dividing a complex application into individual modules. By employing the Server.Execute method, you can develop a library of .asp files that you can call as needed. This approach is an alternative to server-side include directives. The major difference is that you can dynamically call an .asp file by using Server.Execute.
After IIS processes the .asp file specified in the input parameter to Server.Execute, the response is returned to the calling ASP script.
The following collections and properties are available to the executed ASP page:
- Application variables, even if they are set in the calling page.
- Session properties, even if they are set in the calling page.
- Server variables and properties, even if they are set in the calling page.
- Request collections and properties, even if they are set in the calling page. This includes Form and QueryString data passed to the calling page.
- Response collections and properties. The executed .asp file may modify HTTP headers. However, as with any .asp file, if the executed .asp file attempts to modify HTTP headers after it sends a response to the client, it generates an error.
If a file is included in the calling page by using #include, the executed .asp will not use it. For example, you may have a subroutine in a file that is included in your calling page, but the executed .asp will not recognize the subroutine name. You must include the file in each executed .asp that requires the subroutine.
If either the calling or called .asp file contains a transaction directive, the status of the transaction will apply to the .asp file that contains the directive. For example, if ASP1 below calls ASP2 and the transaction is aborted while ASP2 is being processed, the ASP2 OnTransactionAbort (if present) is called. After ASP2 completes processing, the ASP1 OnTransactionAbort (if present) is called. The following code demonstrates this.
ASP1:
<%@ Transaction=Required %>
<%
Server.Execute ("ASP2.asp")
Sub OnTransactionAbort
Sub OnTransactionCommit
%>
ASP2.asp:
<%@ Transaction=Required %>
<%
Sub OnTransactionAbort
Sub OnTransactionCommit
%>
Example
In the following example, the browser language determines which .asp file is executed. (Languages with multibyte characters have not been included in this example because of codepage incompatibilities.) The output from these scripts on a U.S. system is:
Company Name Welcome to my website!
The output from these scripts on a German system is:
Company Name Willkommen zu meinem website!
The output from these scripts on a Spanish system is:
Company Name Recepcin 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>
FakePre-7a780bb30dfb4d3f8ce75b0ffb3aee1e-d5267f0bc80f4386b8361c4737eb8b9e FakePre-d8ab803a36fa44598fb2ecc8b766e4a9-e29c8f4ff03042c6b0298ade33e78792 FakePre-6d8cc6c4bb6245e0b778b206fc9d4432-6f93b77a9df742049c44e5afe85ac52d