Execute

Execute メソッドは、.asp ファイルを呼び出し、ASP スクリプトの呼び出しの一部であるかのように処理します。Execute メソッドは、多くのプログラミング言語にあるプロシージャ コールに似ています。

構文

Server.Execute( Path )

 

パラメータ
Path
実行する .asp ファイルの場所を指定する文字列です。Path パラメータには、絶対パスと相対パスのいずれかを指定できます。絶対パスの場合は、呼び出し元の .asp ファイルと同じアプリケーションの ASP スクリプトにマップする必要があります。Path は、実行時に設定される文字列型変数の名前であることもあります。Path パラメータにクエリ文字列を指定することはできません。指定した場合、IIS はエラーを返します。
解説

Server.Execute メソッドは、複雑なアプリケーションを個別のモジュールに分割する方法を提供します。Server.Execute メソッドを使用すると、必要に応じて呼び出すことができる .asp ファイルのライブラリを作成できます。この方法は、サーバー側インクルードに代わるものです。両者の一番大きな違いは、Server.Execute では .asp ファイルを動的に呼び出すことができるという点です。

Server.Execute の入力パラメータで指定した .asp ファイルが IIS によって処理されると、呼び出し元の ASP スクリプトに応答が返されます。

実行される .asp ページで使用可能なコレクションおよびプロパティは、次のとおりです。

#include によって呼び出し元ページにインクルードしたファイルは、実行される .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
%>

次の例では、ブラウザの言語によって実行する .asp ファイルが決定します。英語 (US) システムの場合、スクリプトの出力は次のようになります。

Company Name

Welcome to my website!

ドイツ語システムの場合、スクリプトの出力は次のようになります。

Company Name

Willkommen zu meinem website!

スペイン語システムの場合、スクリプトの出力は次のようになります。

Company Name

Recepci? 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 "Recepcion a mi website!" %>
対象

Server オブジェクト

関連項目

TransferOnTransactionAbortOnTransactionCommit


© 1997-2001 Microsoft Corporation.All rights reserved.