Execute

(IIS5)
Execute — .asp ファイルを実行します。

Server.Execute ( Path )

パラメータ
Path 実行する .asp ファイルの場所を指定する文字列です。
このパラメータに絶対パスを指定する場合は、このパスは同じアプリケーションの範囲内にある .asp ファイルへのパスでなければなりません。

説明

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

Server.Execute メソッドは、複雑なアプリケーションを個別のモジュールに分割する方法を提供します。Server.Execute メソッドを使用すると、必要に応じて呼び出すことができる .asp ファイルのライブラリを作成できます。この方法は、サーバー側インクルードに代わるものです。
Server.Execute の入力パラメータで指定した .asp ファイルが IIS によって処理されると、呼び出し元の ASP スクリプトに応答が返されます。実行された .asp ファイルは HTTP ヘッダーを変更することができます。ただし、ほかの .asp ファイルと同じように、実行された .asp ファイルが、クライアントへの応答が送られた後で HTTP ヘッダーを変更しようとすると、エラーが発生します。
パス パラメータには、絶対パスと相対パスのいずれかを指定できます。絶対パスの場合は、呼び出し元の .asp ファイルと同じアプリケーションの ASP スクリプトにマップする必要があります。
パス パラメータには、クエリ文字列を含めることができます。
呼び出し元または呼び出し先の .asp ファイルのいずれかに、トランザクションディレクティブが含まれている場合、トランザクションの状態はディレクティブを含む方の .asp ファイルに適用されます。たとえば、次の例では ASP1 が ASP2 を呼び出しています。ASP2 の処理中にトランザクションが中止された場合、ASP2 の OnTransactionAbort (存在する場合) が呼び出されます。ASP2 の処理が完了すると、ASP1 の OnTransactionAbort (存在する場合) が呼び出されます。

例1.Executeの例

次の例は、サーバーのスクリプトの処理時間が 100 秒を超えた場合に、スクリプトをタイムアウトとして終了します。

ASP1.asp:

1
2
3
4
5
6
7
8
9
<%@ Transaction=Required%>
<%
  Server.Execute ("ASP2.asp")

  Sub OnTransactionAbort
  End Sub
  Sub OnTransactionCommit
  End Sub
%>

ASP2.asp:

1
2
3
4
5
6
7
<%@ Transaction=Required %>
<%
  Sub OnTransactionAbort
  End Sub
  Sub OnTransactionCommit
  End Sub
%>

Transfer、OnTransactionAbort、OnTransactionCommit も参照ください。


CreateObject

(PWS4 IIS4 IIS5)
CreateObject — サーバー コンポーネントのインスタンスを作成します。

Server.CreateObject ( progID )

パラメータ
progID 作成するオブジェクトの種類を指定します。
progID の形式は [Vendor.]Component[.Version] です。

説明

CreateObject メソッドは、サーバー コンポーネントのインスタンスを作成します。コンポーネントに OnStartPage メソッドと OnEndPage メソッドが実装されている場合は、この時点で OnStartPage メソッドが呼び出されます。

特に指定しない限り、Server.CreateObject メソッドで作成されたオブジェクトはページ スコープを持ちます。つまり、これらのオブジェクトは、サーバーが現在の ASP ページの処理を完了した時点で自動的に破棄されます。
セッション スコープまたはアプリケーション スコープを持つオブジェクトを作成するには、Global.asa で

例1.CreateObjectの例

次の例は、サーバーのスクリプトの処理時間が 100 秒を超えた場合に、スクリプトをタイムアウトとして終了します。

1
<% Set Session("ad") = Server.CreateObject("MSWC.AdRotator")%>

また、変数を Nothing に設定するか、または下の例のように新しい値を設定することで、オブジェクトを破棄することもできます。1 番目の例ではオブジェクト ad を解放しています。2 番目の例では ad を文字列に置換しています。

1
2
<% Session("ad") = Nothing %>
<% Session("ad") = "some other value" %>

組み込みオブジェクトと同じ名前のオブジェクト インスタンスは作成できません。たとえば、次の例はエラーを返します。

1
<% Set Response = Server.CreateObject("Response") %>

ADO Connectionオブジェクト も参照ください。


ScriptTimeout

(PWS4 IIS4 IIS5)
ScriptTimeout — タイムアウトする前にスクリプトを実行できる時間です。

Server.ScriptTimeout = NumSeconds

パラメータ
NumSeconds スクリプトを実行できる最大秒数を指定します。
この時間を過ぎたスクリプトは、サーバーによって終了されます。既定値は 90 秒です。

説明

ScriptTimeout プロパティは、スクリプトを実行できる最大時間を指定します。この時間を過ぎたスクリプトは終了します。
サーバー コンポーネントの処理時間は、タイムアウトの対象にはなりません。

Web サービスまたは Web サーバーの ScriptTimeout の既定値は、メタベース内の AspScriptTimeout プロパティを使用して設定できます。ScriptTimeout プロパティには、メタベース内で指定した値よりも小さい値を設定することはできません。たとえば、NumSeconds に 10 を設定しても、メタベースの設定が既定値の 90 秒であれば、スクリプトは 90 秒後にタイムアウトになります。ただし、NumSeconds に 100 を設定した場合は、スクリプトは 100 秒後にタイムアウトになります。

例1.ScriptTimeoutの例

次の例は、サーバーのスクリプトの処理時間が 100 秒を超えた場合に、スクリプトをタイムアウトとして終了します。

1
<% Server.ScriptTimeout = 100 %>

例2.ScriptTimeoutの例

次の例は、ScriptTimeout プロパティの現在の値を取得して変数 TimeOut に格納します。

1
<% TimeOut = Server.ScriptTimeout %>

AspScriptTimeout も参照ください。


Serverオブジェクト

Server オブジェクトは、サーバーに関するメソッドおよびプロパティへのアクセスを提供します。これらのメソッドおよびプロパティのほとんどは、ユーティリティ関数として機能します。

* ScriptTimeout
* CreateObject
* Execute
* GetLastError
* HTMLEncode
* MapPath
* Transfer
* URLEncode


ASP組み込みオブジェクト

ASP組み込みオブジェクトとはASPにあらかじめ組み込まれているオブジェクトです。追加コンポーネントをインストールすることなくオブジェクトにアクセスしてスクリプトにさまざまな機能を組み込むことができます。IIS5.0で動作している ASP3.0では7つのオブジェクトが組み込まれています。

* Applicationオブジェクト
* ASPErrorオブジェクト
* ObjectContextオブジェクト
* Requestオブジェクト
* Responseオブジェクト
* Serverオブジェクト
* Sessionオブジェクト


Write

(PWS4 IIS4 IIS5)
Write — 現在の HTTP 出力に変数を文字列として書き込みます。

Response.Write variant

パラメータ
variant 書き込むデータです。
このパラメータには、文字、文字列、および整数値を含む、Visual Basic Scripting Edition のバリアント型 (Variant) がサポートしているすべてのデータ型を指定できます。この値に “%>” の文字の組み合わせを含めることはできません。%> を指定する場合はエスケープ シーケンス “%\>” を使用します。Web サーバーは、スクリプトの処理時にエスケープ シーケンスを変換します。

説明

Write メソッドは、指定された文字列を現在の HTTP 出力に書き込みます。

次の 2 つの例は、Response.Write メソッドを使用して出力をクライアントに送信します。

例1.Writeの例

1
2
I just want to say <% Response.Write "Hello World." %>
Your name is: <% Response.Write Request.Form("name") %>

例2.Writeの例

次の例は、HTML タグを Web ページの出力に追加します。Write メソッドが返す文字列には “%>” という文字の組み合わせを含めることができないため、エスケープ シーケンス “%\>” を代わりに使用しています。

1
<% Response.Write "<table WIDTH = 100%\>" %>

上の例からは、次の出力が得られます。

1
<table WIDTH = 100%>

BinaryWrite も参照ください。


Redirect

(PWS4 IIS4 IIS5)
Redirect — ブラウザにリダイレクト メッセージを送信し、ブラウザが別の URL に接続するようにします。

Response.Redirect URL

パラメータ
URL ブラウザのリダイレクト先を指定する URL です。

説明

Redirect メソッドは、ブラウザが別の URL への接続を試みるようにします。

ページ内で明示的に設定されている応答本文のコンテンツはすべて無視されますが、このページで設定されたほかの HTTP ヘッダーはクライアントに送信され、リダイレクト先の URL がリンクとして含まれる自動応答本文が生成されます。Redirect メソッドは次の明示的なヘッダーを送信します (URL はメソッドに渡された値です)。

HTTP 1.0 302 Object Moved
Location URL

例1.Redirectの例

次の例は、ユーザーをこのページにリダイレクトします。

1
<% Response.Redirect ("http://asp.verygoodtown.com/2009/08/redirect") %>

Flush

(PWS4 IIS4 IIS5)
Flush — バッファに格納されている出力を直ちに送信します。

Response.Flush

説明

Flush メソッドは、バッファに格納されている出力を直ちに送信します。Response.Buffer に TRUE が設定されていない場合、このメソッドを呼び出すとランタイム エラーが発生します。

Flush メソッドを ASP ページ上で呼び出した場合、サーバーはそのページのキープアライブ要求よりもこのメソッドの方を優先します。


End

(PWS4 IIS4 IIS5)
End — .asp ファイルの処理を中止し、現在までの処理結果を返します。

Response.End

説明

End メソッドは、Web サーバーがスクリプトの処理を停止して現在までの処理結果を返すようにします。ファイルの残りのコンテンツは処理されません。

Response.Buffer が TRUE に設定されている状態で Response.End を呼び出すと、バッファがフラッシュされます。出力をユーザーに返さない場合は、Response.Clear を先に呼び出します。

例1.Endの例

1
2
3
4
<%
  Response.Clear
  Response.End
%>

Buffer、Clear も参照ください。


Clear

(PWS4 IIS4 IIS5)
Clear — バッファに格納されている HTML 出力を消去します。

Response.Clear

説明

Clear メソッドは、バッファに格納されている HTML 出力を消去します。ただし、Clear メソッドが消去するのは応答の本体だけで、応答ヘッダーは消去しません。このメソッドを使用して、エラーを処理することができます。 Response.Buffer が TRUE に設定されていない場合は、このメソッドを呼び出すとランタイム エラーが発生します。

End、Flush も参照ください。