Transfer

Transfer メソッドは、ある .asp ファイルで処理するためにアセンブルされたすべての情報を、別の .asp ファイルに送信します。

構文

Server.Transfer(path)

 

パラメータ
Path
制御の転送先の .asp ファイルの場所です。
解説

Server.Transfer を呼び出すと、組み込みオブジェクトの状態の情報すべてが転送されます。つまり、セッションまたはアプリケーション スコープで、値に割り当てられた変数やオブジェクトは保持されます。さらに、要求コレクションの現在のコンテンツはすべて転送先の .asp ファイルで利用できます。

入力パラメータで指定したパスが別のアプリケーションの .asp ファイルへのパスである場合、.asp ファイルは、Server.Transfer コマンドを含むアプリケーション内にあるかのように実行します。つまり、アプリケーションのほかの .asp ファイルやアプリケーションの Global.asa ファイルによってアプリケーション スコープを与えられた変数およびオブジェクトはすべて、呼出し先の .asp ファイルでも利用できます。ただし、Path パラメータにクエリ文字列を指定することはできません。指定した場合、ASP はエラーを返します。

Server.Transfer は、Response.Redirect の代わりになるというだけでなく、より優れた機能があります。Response.Redirect では、ブラウザに別のページを要求するように指示します。リダイレクトは新しいページの要求を強制するため、ブラウザでは Web サーバーとの間を 2 往復しなければならず、Web サーバーでは余計な要求を処理しなければなりません。IIS 5.0 で導入された Server.Transfer メソッドでは、実行を "サーバー上の" 別の ASP ページに転送します。これにより、余計なやり取りは回避され、システム パフォーマンス全般が改善されるだけでなく、ユーザーに与える印象も良くなります。

次の例は、ある .asp ファイルから別の .asp ファイルへの転送、およびセッション識別子のクライアントへの送信を示します。

これらのスクリプトの出力は、次のようになります。

A session ID

I am going to ASP2

The same session ID

ASP1

<HTML><BODY><%
  Dim sessvar1
  Response.Write Session.SessionID
  Response.Write ("<BR>")
  Response.Write("I am going to ASP2 <BR>")
  Server.Transfer("/Myasps/ASP2.asp")
%>

ASP2

<HTML>

<BODY><% Response.Write Session.SessionID %></BODY></HTML>

対象

Server オブジェクト

関連項目

ExecuteGlobal.asa リファレンスApplication オブジェクト


© 1997-2001 Microsoft Corporation.All rights reserved.