次の方法で共有


アプリケーション コントロールの方法

ASP が一般の実行フローに影響を与えるメソッドには 6 種類あります。ここでは、これらの 6 つのメソッドについて、図を用いて説明します。図に表示された矢印は、実行フローを表しています。

リダイレクト

処理の流れ - リダイレクト

リダイレクトは要求を別の場所へ方向転換させる処理です。リダイレクトでは、新しい要求を特定のサーバーへ送信するように命令されます。しかし、一般的には、クライアントとサーバーの間での通信量を最小限に抑えられるようにアプリケーションを設計することが大切です。これまでに、リダイレクトによって対処されてきた設計上の問題の多くは、現在では転送によって解決されているので、新しい要求は開始されません。この側面から見たアプリケーション設計に関する詳細については、「クライアント/サーバー処理を調整する」を参照してください。

リダイレクトには、Response.Redirect メソッドを使用します。

転送

処理の流れ - 転送

要求をある ASP ページから別の ASP ページへ転送する機能は、IIS 5.0 で新たに導入されました。転送とリダイレクトは似ていますが、転送では、新しい要求は開始されません。このため、アプリケーション フローのコントロールがより効率的に行えます。アプリケーション境界外にある ASP ページへ要求を転送する場合、この境界は外部 ASP ページを含むように、一時的に拡張されます。この外部 ASP ページは、呼び出し側の ASP ページのアプリケーション境界内にあるように動作します。したがって、転送される ASP ページでも、このアプリケーション スコープにあるオブジェクトや変数を使用することができます。転送はリダイレクトよりも高速に行なわれるだけではなく、HTTP ポストからのフォーム値を含む、元々の要求にあるすべての組み込み ASP オブジェクトが維持されます。

転送には、Server.Transfer メソッドを使用します。

実行

処理の流れ - 実行

特定の ASP スクリプトを実行し、結果を返す機能は、IIS 5.0 で導入されたものです。実行とは、多くのプログラミング言語に見られるプロシージャ コールのようなものです。取り入れる必要があり、まだコンポーネントに組み込まれていない機能を完了するための ASP アプリケーションを開発した場合は、このアプリケーション フロー コントロール メソッドが適しています。

実行には、Server.Execute メソッドを使用します。

コンポーネントの呼び出し

処理の流れ - コンポーネントの呼び出し

コンポーネントの呼び出しは、おそらく、アプリケーション フローを制御する方法のうち、最も一般的な方法です。COM プログラミング モデルは Windows DNA には欠かせない部分で、設計上の問題の大半に対応しています。IIS 5.0 でサポートされているスクリプト コンポーネント テクノロジにより、既存のスクリプトをコンポーネントに変換することが容易になりました。

コンポーネントの呼び出しには、Server.CreateObject メソッドを使用します。スクリプト コンポーネントの詳細については、「Windows スクリプト コンポーネント」、および「コンポーネントとオブジェクトを使用する」を参照してください。

終了

処理の流れ - 終了

正常な状況では、ASP アプリケーションに、ページに記述されているスクリプトの各行を完了させる必要があります。しかし、場合によっては、単に、応答を終わらせることが必要な場合もあります。たとえば、Response.IsClientConnected メソッドを使用した結果、クライアントがこれ以上の応答を待っていないということが検出された場合、ASP アプリケーションを終了することが必要になります。

ASP の終了には、Response.End メソッドを使用します。

手順の処理

処理の流れ - 手順

.asp ファイルにサブルーチンや関数を定義する場合、使用しているスクリプト記述言語に適したプロシージャ構文を使用することができます。たとえば、VBScript では、サブルーチンの定義には Sub … End Sub 構文、関数の定義には Function … End Function 構文が使用されます。一方、JScript では、関数呼び出しによる手順の処理がサポートされています。サブルーチン処理の詳細については、「プロシージャを記述する」を参照してください。