HttpServerUtility.Transfer メソッド

定義

現在のページの実行を終了し、現在の要求に対して新しいページの実行を開始します。

オーバーロード

Transfer(String)

現在の要求に対して、現在のページの実行を終了し、指定された URL パスを使用して新しいページの実行を開始します。

Transfer(String, Boolean)

現在のページの実行を終了し、指定された URL パスを使用して新しいページの実行を開始します。 QueryString コレクションと Form コレクションを削除するかどうかを指定します。

Transfer(IHttpHandler, Boolean)

現在のページの実行を終了し、カスタム HTTP ハンドラーを使用して新しい要求の実行を開始します。このハンドラーは、IHttpHandler インターフェイスを実装し、QueryString コレクションおよび Form コレクションをクリアするかどうかを指定します。

Transfer(String)

現在の要求に対して、現在のページの実行を終了し、指定された URL パスを使用して新しいページの実行を開始します。

public:
 void Transfer(System::String ^ path);
public void Transfer (string path);
member this.Transfer : string -> unit
Public Sub Transfer (path As String)

パラメーター

path
String

サーバー上にある、実行する新しいページの URL パス。

注釈

に転送されるページは、別の .aspx ページである必要があります。 たとえば、.asp または .asmx ページへの転送は無効です。 メソッドはTransfer、 コレクションと Form コレクションをQueryString保持します。

Transfer は を呼び出します End。これは、完了時に例外を ThreadAbortException スローします。

ASP.NET は、現在のユーザーが メソッドによって Transfer 提供されたリソースを表示する権限を持っていることを確認しません。 ASP.NET 承認ロジックと認証ロジックは、元のリソース ハンドラーが呼び出される前に実行されますが、ASP.NET は メソッドによって示されるハンドラーを Transfer 直接呼び出し、新しいリソースの認証と承認ロジックを再実行しません。 アプリケーションのセキュリティ ポリシーで、クライアントがリソースにアクセスするための適切な承認を必要とする場合、アプリケーションは強制的に再認証するか、カスタム アクセス制御メカニズムを提供する必要があります。

メソッドの代わりに Transfer メソッドをRedirect使用して、強制的に再認証することができます。 メソッドは Redirect 、ブラウザーが新しいリソースを要求するクライアント側リダイレクトを実行します。 このリダイレクトはシステムに入る新しい要求であるため、インターネット インフォメーション サービス (IIS) と ASP.NET セキュリティ ポリシーの両方のすべての認証および承認ロジックが適用されます。

アプリケーションが メソッドを呼び出Transferす前に、 メソッドを使用するカスタム承認メソッドを組み込むことで、ユーザーがリソースをIsInRole表示するアクセス許可を持っていることを確認できます。

適用対象

Transfer(String, Boolean)

現在のページの実行を終了し、指定された URL パスを使用して新しいページの実行を開始します。 QueryString コレクションと Form コレクションを削除するかどうかを指定します。

public:
 void Transfer(System::String ^ path, bool preserveForm);
public void Transfer (string path, bool preserveForm);
member this.Transfer : string * bool -> unit
Public Sub Transfer (path As String, preserveForm As Boolean)

パラメーター

path
String

サーバー上にある、実行する新しいページの URL パス。

preserveForm
Boolean

QueryString コレクションおよび Form コレクションを保持する場合は、trueQueryString コレクションおよび Form コレクションをクリアする場合は、false

例外

現在のページ要求がコールバックです。

次の例では、現在のページと同じディレクトリで新しいページを実行します。

Server.Transfer("Logon.aspx", true);

Server.Transfer("Logon.aspx", true)

注釈

に転送されるページは、別の .aspx ページである必要があります。 たとえば、.asp または .asmx ページへの転送は無効です。

Transfer は を呼び出します End。これは、完了時に例外を ThreadAbortException スローします。

パラメーターを preserveFormtrue設定すると、 プロパティを使用して、ターゲット ページから前のページのビューステートに PreviousPage アクセスできるようになります。

セキュリティ上の理由から、 属性は enableViewStateMac に設定したままにする true必要があります。 ASP.NET は、現在のユーザーが メソッドによって Transfer 提供されたリソースを表示する権限を持っていることを確認しません。 ASP.NET 承認ロジックと認証ロジックは、元のリソース ハンドラーが呼び出される前に実行されますが、ASP.NET は メソッドによって示されるハンドラーを Transfer 直接呼び出し、新しいリソースの認証と承認ロジックを再実行しません。 アプリケーションのセキュリティ ポリシーで、クライアントがリソースにアクセスするための適切な承認を必要とする場合、アプリケーションは強制的に再認証するか、カスタム アクセス制御メカニズムを提供する必要があります。

メソッドの代わりに Transfer メソッドをRedirect使用して、強制的に再認証することができます。 メソッドは Redirect 、ブラウザーが新しいリソースを要求するクライアント側リダイレクトを実行します。 このリダイレクトはシステムに入る新しい要求であるため、インターネット インフォメーション サービス (IIS) と ASP.NET セキュリティ ポリシーの両方のすべての認証および承認ロジックが適用されます。

アプリケーションが メソッドを呼び出Transferす前に、 メソッドを使用するカスタム承認メソッドを組み込むことで、ユーザーがリソースをIsInRole表示するアクセス許可を持っていることを確認できます。

適用対象

Transfer(IHttpHandler, Boolean)

現在のページの実行を終了し、カスタム HTTP ハンドラーを使用して新しい要求の実行を開始します。このハンドラーは、IHttpHandler インターフェイスを実装し、QueryString コレクションおよび Form コレクションをクリアするかどうかを指定します。

public:
 void Transfer(System::Web::IHttpHandler ^ handler, bool preserveForm);
public void Transfer (System.Web.IHttpHandler handler, bool preserveForm);
member this.Transfer : System.Web.IHttpHandler * bool -> unit
Public Sub Transfer (handler As IHttpHandler, preserveForm As Boolean)

パラメーター

handler
IHttpHandler

現在の要求の転送先となる IHttpHandler を実装する HTTP ハンドラー。

preserveForm
Boolean

QueryString コレクションおよび Form コレクションを保持する場合は、trueQueryString コレクションおよび Form コレクションをクリアする場合は、false

例外

現在のページ要求がコールバックです。

注釈

カスタム HTTP ハンドラーを記述して、共通言語仕様 (CLS) に準拠している任意の言語で、定義済みの特定の種類の HTTP 要求を処理できます。 従来の ASP (従来の ASP とも呼ばれます) ページまたは ASP.NET ページではなく HTTP ハンドラー クラスで定義されている実行可能コードは、これらの特定の要求に応答します。 HTTP ハンドラーを使用すると、インターネット インフォメーション サービス (IIS) を実行している Web サーバーの低レベルの要求サービスと応答サービスを操作でき、ISAPI 拡張機能に似ていますが、より簡単なプログラミング モデルを備えた機能が提供されます。

パラメーターを preserveFormtrue設定すると、 プロパティを使用して、ターゲット ページから前のページのビューステートに PreviousPage アクセスできるようになります。

セキュリティ上の理由から、 属性は enableViewStateMac に設定したままにする true必要があります。 ASP.NET は、現在のユーザーが メソッドによって Transfer 提供されたリソースを表示する権限を持っていることを確認しません。 ASP.NET 承認ロジックと認証ロジックは、元のリソース ハンドラーが呼び出される前に実行されますが、ASP.NET は メソッドによって示されるハンドラーを Transfer 直接呼び出し、新しいリソースの認証と承認ロジックを再実行しません。 アプリケーションのセキュリティ ポリシーで、クライアントがリソースにアクセスするための適切な承認を必要とする場合、アプリケーションは強制的に再認証するか、カスタム アクセス制御メカニズムを提供する必要があります。

メソッドの代わりに Transfer メソッドをRedirect使用して、強制的に再認証することができます。 メソッドは Redirect 、ブラウザーが新しいリソースを要求するクライアント側リダイレクトを実行します。 このリダイレクトはシステムに入る新しい要求であるため、IIS と ASP.NET セキュリティ ポリシーの両方のすべての認証と承認ロジックが適用されます。

アプリケーションが メソッドを呼び出Transferす前に、 メソッドを使用するカスタム承認メソッドを組み込むことで、ユーザーがリソースをIsInRole表示するアクセス許可を持っていることを確認できます。

適用対象