HttpServerUtility.Execute メソッド

定義

指定したリソースのハンドラーを現在の要求のコンテキストで実行し、そのハンドラーを起動したページに実行を戻します。

オーバーロード

Execute(String)

指定した仮想パスのハンドラーを現在の要求のコンテキストで実行します。

Execute(String, Boolean)

指定した仮想パスのハンドラーを現在の要求のコンテキストで実行し、QueryString コレクションおよび Form コレクションをクリアするかどうかを指定します。

Execute(String, TextWriter)

指定した仮想パスのハンドラーを現在の要求のコンテキストで実行します。 TextWriter は、実行されたハンドラーからの出力を取り込みます。

Execute(String, TextWriter, Boolean)

指定した仮想パスのハンドラーを現在の要求のコンテキストで実行します。 TextWriter はページからの出力を取り込み、QueryString コレクションおよび Form コレクションをクリアするかどうかをブール型のパラメーターで指定します。

Execute(IHttpHandler, TextWriter, Boolean)

指定した仮想パスのハンドラーを現在の要求のコンテキストで実行します。 TextWriter は実行されたハンドラーからの出力を取り込み、QueryString コレクションおよび Form コレクションをクリアするかどうかをブール型のパラメーターで指定します。

Execute(String)

指定した仮想パスのハンドラーを現在の要求のコンテキストで実行します。

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

パラメーター

path
String

実行する URL パス。

例外

現在の HttpContextnull です。

- または -

path によって指定されているハンドラーの実行中にエラーが発生しました。

pathnullです。

- または -

path は仮想パスではありません。

次の例では、現在のディレクトリの .aspx ページ "Updateinfo.aspx" を表示します。 Updateinfo.aspx ページが表示された後、プログラムの実行が開始ページに戻ります。

Server.Execute("updateinfo.aspx");

Server.Execute("updateinfo.aspx")
   

注釈

メソッドは Execute 、新しいページの実行が完了した後も、元のページの実行を続行します。 メソッドは Transfer 無条件に別のハンドラーに実行を転送します。

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

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

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

適用対象

Execute(String, Boolean)

指定した仮想パスのハンドラーを現在の要求のコンテキストで実行し、QueryString コレクションおよび Form コレクションをクリアするかどうかを指定します。

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

パラメーター

path
String

実行する URL パス。

preserveForm
Boolean

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

例外

現在の HttpContextnull です。

- または -

path によって指定されているハンドラーの実行中にエラーが発生しました。

pathnullです。

- または -

path は仮想パスではありません。

次の例は、現在の要求で .aspx ページUpdateinfo.aspxを実行し、 コレクションと Form コレクションを保持する方法をQueryString示しています。 が表示された後 Updateinfo.aspx 、プログラムの実行が開始ページに戻ります。

private void Page_Load(Object sender, EventArgs e)
{
    Server.Execute("updateinfo.aspx", true);
} 
Sub Page_Load(ByVal Sender As Object, ByVal e As EventArgs)
    Server.Execute("updateinfo.aspx", True)
End Sub

こちらもご覧ください

適用対象

Execute(String, TextWriter)

指定した仮想パスのハンドラーを現在の要求のコンテキストで実行します。 TextWriter は、実行されたハンドラーからの出力を取り込みます。

public:
 void Execute(System::String ^ path, System::IO::TextWriter ^ writer);
public void Execute (string path, System.IO.TextWriter writer);
member this.Execute : string * System.IO.TextWriter -> unit
Public Sub Execute (path As String, writer As TextWriter)

パラメーター

path
String

実行する URL パス。

writer
TextWriter

出力を取り込む TextWriter

例外

現在の HttpContextnull です。

- または -

path によって指定されているハンドラーの実行中にエラーが発生しました。

pathnullです。

- または -

path は仮想パスではありません。

次の例では、現在のLogin.aspxディレクトリ内のサーバーでページを実行し、 オブジェクト writerを介してページから出力をStringWriter受け取ります。 受信した writer HTML ストリームを HTTP 出力ストリームに書き込みます。

StringWriter writer = new StringWriter();
Server.Execute("Login.aspx", writer);
Response.Write("<H3>Please Login:</H3><br>"+ writer.ToString());

Dim writer As New StringWriter
Server.Execute("Login.aspx", writer)
Response.Write("<H3>Please Login:</H3><br>" & writer.ToString())
   

注釈

メソッドは Execute 、指定された仮想パスの実行が完了した後も、元の要求の実行を続行します。 メソッドは Transfer 無条件に別のハンドラーに実行を転送します。

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

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

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

こちらもご覧ください

適用対象

Execute(String, TextWriter, Boolean)

指定した仮想パスのハンドラーを現在の要求のコンテキストで実行します。 TextWriter はページからの出力を取り込み、QueryString コレクションおよび Form コレクションをクリアするかどうかをブール型のパラメーターで指定します。

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

パラメーター

path
String

実行する URL パス。

writer
TextWriter

出力を取り込む TextWriter

preserveForm
Boolean

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

例外

現在の HttpContext が null 参照 (Visual Basic の場合は Nothing) です。

- または -

path がピリオド (.) で終わっています。

- または -

path によって指定されているハンドラーの実行中にエラーが発生しました。

pathnullです。

path は仮想パスではありません。

次の例では、現在のLogin.aspxディレクトリ内のサーバーでページを実行し、 オブジェクト writerを介してページから出力をStringWriter受け取ります。 受信した writer HTML ストリームを HTTP 出力ストリームに書き込みます。 コレクションと QueryString コレクションのForm内容は保持されます。

private void Page_Load(Object sender, EventArgs e)
{
    System.IO.StringWriter writer = new System.IO.StringWriter();
    Server.Execute("Login.aspx", writer, true);
    Response.Write("<h3>Please Login:</h3><br />" + writer.ToString());
} 
Sub Page_Load(ByVal Sender As Object, ByVal e As EventArgs)
    Dim writer As System.IO.StringWriter = New System.IO.StringWriter()
    Server.Execute("Login.aspx", writer, True)
    Response.Write("<h3>Please Login:</h3><br />" + writer.ToString())
End Sub

注釈

メソッドは Execute 、指定した仮想パスの実行が完了した後も、元の要求の実行を続行します。 メソッドは Transfer 無条件に別のハンドラーに実行を転送します。

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

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

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

こちらもご覧ください

適用対象

Execute(IHttpHandler, TextWriter, Boolean)

指定した仮想パスのハンドラーを現在の要求のコンテキストで実行します。 TextWriter は実行されたハンドラーからの出力を取り込み、QueryString コレクションおよび Form コレクションをクリアするかどうかをブール型のパラメーターで指定します。

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

パラメーター

handler
IHttpHandler

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

writer
TextWriter

出力を取り込む TextWriter

preserveForm
Boolean

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

例外

handler によって指定されているハンドラーの実行中にエラーが発生しました。

handler パラメーターが null です。

注釈

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

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

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

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

こちらもご覧ください

適用対象