HttpServerUtility.Execute Methode

Definition

Führt den Handler für eine angegebene Ressource im Kontext der aktuellen Anforderung aus und gibt die Ausführung an die aufrufende Seite zurück.

Überlädt

Execute(String)

Führt den Handler für den angegebenen virtuellen Pfad im Kontext der aktuellen Anforderung aus.

Execute(String, Boolean)

Führt den Handler für den angegebenen virtuellen Pfad im Kontext der aktuellen Anforderung aus und gibt an, ob die QueryString-Auflistung und die Form-Auflistung gelöscht werden sollen.

Execute(String, TextWriter)

Führt den Handler für den angegebenen virtuellen Pfad im Kontext der aktuellen Anforderung aus. Ein TextWriter zeichnet die Ausgabe des ausgeführten Handlers auf.

Execute(String, TextWriter, Boolean)

Führt den Handler für den angegebenen virtuellen Pfad im Kontext der aktuellen Anforderung aus. Ein TextWriter zeichnet die Ausgabe der Seite auf, und ein boolescher Parameter gibt an, ob die QueryString-Auflistung und die Form-Auflistung gelöscht werden sollen.

Execute(IHttpHandler, TextWriter, Boolean)

Führt den Handler für den angegebenen virtuellen Pfad im Kontext der aktuellen Anforderung aus. Ein TextWriter zeichnet die Ausgabe des ausgeführten Handlers auf, und ein boolescher Parameter gibt an, ob die QueryString-Auflistung und die Form-Auflistung gelöscht werden sollen.

Execute(String)

Führt den Handler für den angegebenen virtuellen Pfad im Kontext der aktuellen Anforderung aus.

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

Parameter

path
String

Der auszuführende URL-Pfad.

Ausnahmen

Der aktuelle HttpContext ist null.

- oder -

Fehler beim Ausführen des von path angegebenen Handlers.

path ist null.

- oder -

path ist kein virtueller Pfad.

Beispiele

Im folgenden Beispiel wird die ASPX-Seite "Updateinfo.aspx" im aktuellen Verzeichnis angezeigt. Die Programmausführung kehrt zur Startseite zurück, nachdem die Seite Updateinfo.aspx angezeigt wurde.

Server.Execute("updateinfo.aspx");

Server.Execute("updateinfo.aspx")
   

Hinweise

Die Execute -Methode setzt die Ausführung der ursprünglichen Seite fort, nachdem die Ausführung der neuen Seite abgeschlossen wurde. Die Transfer -Methode überträgt die Ausführung bedingungslos an einen anderen Handler.

ASP.NET überprüft nicht, ob der aktuelle Benutzer autorisiert ist, die von der Execute -Methode bereitgestellte Ressource anzuzeigen. Obwohl die ASP.NET Autorisierungs- und Authentifizierungslogik ausgeführt wird, bevor der ursprüngliche Ressourcenhandler aufgerufen wird, ruft ASP.NET den von der Execute Methode angegebenen Handler direkt auf und führt die Authentifizierungs- und Autorisierungslogik für die neue Ressource nicht erneut aus. Wenn die Sicherheitsrichtlinie Ihrer Anwendung erfordert, dass Clients über eine entsprechende Autorisierung für den Zugriff auf die Ressource verfügen, sollte die Anwendung eine erneute Autorisierung erzwingen oder einen benutzerdefinierten Zugriffssteuerungsmechanismus bereitstellen.

Sie können die erneute Autorisierung erzwingen, indem Sie die Redirect -Methode anstelle der Execute -Methode verwenden. Redirect führt eine clientseitige Umleitung aus, in der der Browser die neue Ressource anfordert. Da es sich bei dieser Umleitung um eine neue Anforderung handelt, die in das System eintritt, unterliegt sie der gesamten Authentifizierungs- und Autorisierungslogik von Internetinformationsdienste (IIS) und ASP.NET Sicherheitsrichtlinie.

Sie können überprüfen, ob der Benutzer über die Berechtigung zum Anzeigen der Ressource verfügt, indem Sie eine benutzerdefinierte Autorisierungsmethode integrieren, die die IsInRole -Methode verwendet, bevor die Anwendung die Execute -Methode aufruft.

Gilt für:

Execute(String, Boolean)

Führt den Handler für den angegebenen virtuellen Pfad im Kontext der aktuellen Anforderung aus und gibt an, ob die QueryString-Auflistung und die Form-Auflistung gelöscht werden sollen.

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)

Parameter

path
String

Der auszuführende URL-Pfad.

preserveForm
Boolean

true, um die QueryString-Auflistung und die Form-Auflistung beizubehalten; false, um die QueryString-Auflistung und die Form-Auflistung zu löschen.

Ausnahmen

Der aktuelle HttpContext ist null.

- oder -

Fehler beim Ausführen des von path angegebenen Handlers.

path ist null.

- oder -

path ist kein virtueller Pfad.

Beispiele

Das folgende Beispiel zeigt, wie die ASPX-Seite Updateinfo.aspx in der aktuellen Anforderung ausgeführt und die QueryString Auflistung und Form beibehalten wird. Die Programmausführung kehrt zur Startseite zurück, nachdem Updateinfo.aspx angezeigt wird.

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

Weitere Informationen

Gilt für:

Execute(String, TextWriter)

Führt den Handler für den angegebenen virtuellen Pfad im Kontext der aktuellen Anforderung aus. Ein TextWriter zeichnet die Ausgabe des ausgeführten Handlers auf.

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)

Parameter

path
String

Der auszuführende URL-Pfad.

writer
TextWriter

Der zum Aufzeichnen der Ausgabe zu verwendende TextWriter.

Ausnahmen

Der aktuelle HttpContext ist null.

- oder -

Fehler beim Ausführen des von path angegebenen Handlers.

path ist null.

- oder -

path ist kein virtueller Pfad.

Beispiele

Im folgenden Beispiel wird die Login.aspx Seite auf dem Server im aktuellen Verzeichnis ausgeführt und die Ausgabe von der Seite über das StringWriter -Objekt writerempfangen. Es schreibt den von empfangenen writer HTML-Stream in den HTTP-Ausgabestream.

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())
   

Hinweise

Die Execute -Methode setzt die Ausführung der ursprünglichen Anforderung fort, nachdem die Ausführung des angegebenen virtuellen Pfads abgeschlossen wurde. Die Transfer -Methode überträgt die Ausführung bedingungslos an einen anderen Handler.

ASP.NET überprüft nicht, ob der aktuelle Benutzer autorisiert ist, die von der Execute -Methode bereitgestellte Ressource anzuzeigen. Obwohl die ASP.NET Autorisierungs- und Authentifizierungslogik ausgeführt wird, bevor der ursprüngliche Ressourcenhandler aufgerufen wird, ruft ASP.NET den von der Execute Methode angegebenen Handler direkt auf und führt die Authentifizierungs- und Autorisierungslogik für die neue Ressource nicht erneut aus. Wenn die Sicherheitsrichtlinie Ihrer Anwendung erfordert, dass Clients über eine entsprechende Autorisierung für den Zugriff auf die Ressource verfügen, sollte die Anwendung eine erneute Autorisierung erzwingen oder einen benutzerdefinierten Zugriffssteuerungsmechanismus bereitstellen.

Sie können die erneute Autorisierung erzwingen, indem Sie die Redirect -Methode anstelle der Execute -Methode verwenden. Redirect führt eine clientseitige Umleitung aus, in der der Browser die neue Ressource anfordert. Da es sich bei dieser Umleitung um eine neue Anforderung handelt, die in das System eintritt, unterliegt sie der gesamten Authentifizierungs- und Autorisierungslogik von Internetinformationsdienste (IIS) und ASP.NET Sicherheitsrichtlinie.

Sie können überprüfen, ob der Benutzer über die Berechtigung zum Anzeigen der Ressource verfügt, indem Sie eine benutzerdefinierte Autorisierungsmethode integrieren, die die IsInRole -Methode verwendet, bevor die Anwendung die Execute -Methode aufruft.

Weitere Informationen

Gilt für:

Execute(String, TextWriter, Boolean)

Führt den Handler für den angegebenen virtuellen Pfad im Kontext der aktuellen Anforderung aus. Ein TextWriter zeichnet die Ausgabe der Seite auf, und ein boolescher Parameter gibt an, ob die QueryString-Auflistung und die Form-Auflistung gelöscht werden sollen.

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)

Parameter

path
String

Der auszuführende URL-Pfad.

writer
TextWriter

Der zum Aufzeichnen der Ausgabe zu verwendende TextWriter.

preserveForm
Boolean

true, um die QueryString-Auflistung und die Form-Auflistung beizubehalten; false, um die QueryString-Auflistung und die Form-Auflistung zu löschen.

Ausnahmen

Der aktuelle HttpContext ist ein NULL-Verweis (Nothing in Visual Basic).

- oder -

path endet mit einem Punkt (.).

- oder -

Fehler beim Ausführen des von path angegebenen Handlers.

path ist null.

path ist kein virtueller Pfad.

Beispiele

Im folgenden Beispiel wird die Login.aspx Seite auf dem Server im aktuellen Verzeichnis ausgeführt und die Ausgabe von der Seite über das StringWriter -Objekt writerempfangen. Es schreibt den von empfangenen writer HTML-Stream in den HTTP-Ausgabestream. Die Inhalte der Form Sammlungen und QueryString werden beibehalten.

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

Hinweise

Die Execute -Methode setzt die Ausführung der ursprünglichen Anforderung fort, nachdem die Ausführung des angegebenen virtuellen Pfads abgeschlossen wurde. Die Transfer -Methode überträgt die Ausführung bedingungslos an einen anderen Handler.

ASP.NET überprüft nicht, ob der aktuelle Benutzer autorisiert ist, die von der Execute -Methode bereitgestellte Ressource anzuzeigen. Obwohl die ASP.NET Autorisierungs- und Authentifizierungslogik ausgeführt wird, bevor der ursprüngliche Ressourcenhandler aufgerufen wird, ruft ASP.NET den von der Execute Methode angegebenen Handler direkt auf und führt die Authentifizierungs- und Autorisierungslogik für die neue Ressource nicht erneut aus. Wenn die Sicherheitsrichtlinie Ihrer Anwendung erfordert, dass Clients über eine entsprechende Autorisierung für den Zugriff auf die Ressource verfügen, sollte die Anwendung eine erneute Autorisierung erzwingen oder einen benutzerdefinierten Zugriffssteuerungsmechanismus bereitstellen.

Sie können die erneute Autorisierung erzwingen, indem Sie die Redirect -Methode anstelle der Execute -Methode verwenden. Redirect führt eine clientseitige Umleitung aus, in der der Browser die neue Ressource anfordert. Da es sich bei dieser Umleitung um eine neue Anforderung handelt, die in das System eintritt, unterliegt sie der gesamten Authentifizierungs- und Autorisierungslogik von Internetinformationsdienste (IIS) und ASP.NET Sicherheitsrichtlinie.

Sie können überprüfen, ob der Benutzer über die Berechtigung zum Anzeigen der Ressource verfügt, indem Sie eine benutzerdefinierte Autorisierungsmethode integrieren, die die IsInRole -Methode verwendet, bevor die Anwendung die Execute -Methode aufruft.

Weitere Informationen

Gilt für:

Execute(IHttpHandler, TextWriter, Boolean)

Führt den Handler für den angegebenen virtuellen Pfad im Kontext der aktuellen Anforderung aus. Ein TextWriter zeichnet die Ausgabe des ausgeführten Handlers auf, und ein boolescher Parameter gibt an, ob die QueryString-Auflistung und die Form-Auflistung gelöscht werden sollen.

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)

Parameter

handler
IHttpHandler

Der HTTP-Handler, der den IHttpHandler implementiert, an den die aktuelle Anforderung übertragen werden soll.

writer
TextWriter

Der zum Aufzeichnen der Ausgabe zu verwendende TextWriter.

preserveForm
Boolean

true, um die QueryString-Auflistung und die Form-Auflistung beizubehalten; false, um die QueryString-Auflistung und die Form-Auflistung zu löschen.

Ausnahmen

Fehler beim Ausführen des von handler angegebenen Handlers.

Der handler-Parameter ist null.

Hinweise

Sie können benutzerdefinierte HTTP-Handler schreiben, um bestimmte, vordefinierte Typen von HTTP-Anforderungen in jeder Sprache zu verarbeiten, die mit der Common Language Specification (CLS) kompatibel ist. Ausführbarer Code, der in den HTTP-Handlerklassen anstelle von herkömmlichen ASP-Seiten (auch als klassische ASP-Seiten bezeichnet) oder ASP.NET Seiten definiert ist, reagiert auf diese spezifischen Anforderungen. HTTP-Handler ermöglichen die Interaktion mit den Anforderungs- und Antwortdiensten auf niedriger Ebene eines Webservers, auf dem Internetinformationsdienste (IIS) ausgeführt wird, und bieten Funktionen, die ISAPI-Erweiterungen ähneln, aber ein einfacheres Programmiermodell aufweisen.

ASP.NET überprüft nicht, ob der aktuelle Benutzer berechtigt ist, die von der Execute -Methode bereitgestellte Ressource anzuzeigen. Obwohl die ASP.NET Autorisierungs- und Authentifizierungslogik ausgeführt wird, bevor der ursprüngliche Ressourcenhandler aufgerufen wird, ruft ASP.NET direkt den von der Execute -Methode angegebenen Handler auf, und führt die Authentifizierungs- und Autorisierungslogik für die neue Ressource nicht erneut aus. Wenn die Sicherheitsrichtlinie für Ihre Anwendung erfordert, dass Clients über eine entsprechende Autorisierung verfügen, um Zugriff auf die Ressource zu erhalten, sollte die Anwendung eine erneute Autorisierung erzwingen oder einen benutzerdefinierten Zugriffssteuerungsmechanismus bereitstellen.

Sie können die erneute Autorisierung erzwingen, indem Sie die Redirect -Methode anstelle der Execute -Methode verwenden. Führt Redirect eine clientseitige Umleitung durch, in der der Browser die neue Ressource anfordert. Da es sich bei dieser Umleitung um eine neue Anforderung handelt, die in das System eintritt, unterliegt sie der gesamten Authentifizierungs- und Autorisierungslogik des IIS und ASP.NET Sicherheitsrichtlinie.

Sie können überprüfen, ob der Benutzer über die Berechtigung zum Anzeigen der Ressource verfügt, indem Sie eine benutzerdefinierte Autorisierungsmethode integrieren, die die IsInRole -Methode verwendet, bevor die Anwendung die Execute -Methode aufruft.

Weitere Informationen

Gilt für: