Freigeben über


HttpServerUtility.Transfer Methode

Definition

Beendet die Ausführung der aktuellen Seite und startet die Ausführung einer neuen Seite für die aktuelle Anforderung.

Überlädt

Name Beschreibung
Transfer(String)

Beendet für die aktuelle Anforderung die Ausführung der aktuellen Seite und startet die Ausführung einer neuen Seite mithilfe des angegebenen URL-Pfads der Seite.

Transfer(String, Boolean)

Beendet die Ausführung der aktuellen Seite und startet die Ausführung einer neuen Seite mithilfe des angegebenen URL-Pfads der Seite. Gibt an, ob die QueryString Auflistungen gelöscht werden Form sollen.

Transfer(IHttpHandler, Boolean)

Beendet die Ausführung der aktuellen Seite und startet die Ausführung einer neuen Anforderung mithilfe eines benutzerdefinierten HTTP-Handlers, der die IHttpHandler Schnittstelle implementiert, und gibt an, ob die QueryString Auflistungen gelöscht werden Form sollen.

Transfer(String)

Beendet für die aktuelle Anforderung die Ausführung der aktuellen Seite und startet die Ausführung einer neuen Seite mithilfe des angegebenen URL-Pfads der Seite.

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

Parameter

path
String

Der URL-Pfad der neuen Seite auf dem Server, die ausgeführt werden soll.

Hinweise

Die übertragene Seite sollte eine weitere .aspx Seite sein. Beispielsweise ist eine Übertragung auf eine .asp- oder ASMX-Seite ungültig. Die Transfer Methode behält die QueryString Auflistungen bei Form .

Transfer Aufrufe End, die nach Abschluss eine ThreadAbortException Ausnahme auslösen.

ASP.NET überprüft nicht, ob der aktuelle Benutzer berechtigt ist, die von der Transfer 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 Transfer Methode angegebenen Handler direkt auf und führt die Authentifizierungs- und Autorisierungslogik für die neue Ressource nicht erneut aus. Wenn für die Sicherheitsrichtlinie Ihrer Anwendung Clients eine entsprechende Autorisierung für den Zugriff auf die Ressource erforderlich sind, sollte die Anwendung die erneute Dokumenterstellung erzwingen oder einen benutzerdefinierten Zugriffssteuerungsmechanismus bereitstellen.

Sie können die erneute Dokumenterstellung erzwingen, indem Sie die Redirect Methode anstelle der Transfer Methode verwenden. Die Redirect Methode 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 das System eingibt, unterliegt sie allen Authentifizierungs- und Autorisierungslogiken sowohl von Internetinformationsdienste (IIS) als auch 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 Transfer Methode aufruft.

Gilt für:

Transfer(String, Boolean)

Beendet die Ausführung der aktuellen Seite und startet die Ausführung einer neuen Seite mithilfe des angegebenen URL-Pfads der Seite. Gibt an, ob die QueryString Auflistungen gelöscht werden Form sollen.

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)

Parameter

path
String

Der URL-Pfad der neuen Seite auf dem Server, die ausgeführt werden soll.

preserveForm
Boolean

trueum die Auflistungen Form und die Sammlungen zu erhalten, false um die QueryStringQueryString Auflistungen Form zu löschen.

Ausnahmen

Die aktuelle Seitenanforderung ist ein Rückruf.

Beispiele

Im folgenden Beispiel wird eine neue Seite im selben Verzeichnis wie die aktuelle Seite ausgeführt.

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

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

Hinweise

Die übertragene Seite sollte eine weitere .aspx Seite sein. Beispielsweise ist eine Übertragung auf eine .asp- oder ASMX-Seite ungültig.

Transfer Aufrufe End, die nach Abschluss eine ThreadAbortException Ausnahme auslösen.

Wenn Sie den preserveForm Parameter auf true festlegen, kann die Zielseite mithilfe der PreviousPage Eigenschaft auf den Ansichtszustand der vorherigen Seite zugreifen.

Aus Sicherheitsgründen sollten Sie das enableViewStateMac Attribut auf ".true ASP.NET überprüft nicht, ob der aktuelle Benutzer berechtigt ist, die von der Transfer 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 Transfer Methode angegebenen Handler direkt auf und führt die Authentifizierungs- und Autorisierungslogik für die neue Ressource nicht erneut aus. Wenn für die Sicherheitsrichtlinie Ihrer Anwendung Clients eine entsprechende Autorisierung für den Zugriff auf die Ressource erforderlich sind, sollte die Anwendung die erneute Dokumenterstellung erzwingen oder einen benutzerdefinierten Zugriffssteuerungsmechanismus bereitstellen.

Sie können die erneute Dokumenterstellung erzwingen, indem Sie die Redirect Methode anstelle der Transfer Methode verwenden. Die Redirect Methode 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 das System eingibt, unterliegt sie allen Authentifizierungs- und Autorisierungslogiken sowohl von Internetinformationsdienste (IIS) als auch 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 Transfer Methode aufruft.

Gilt für:

Transfer(IHttpHandler, Boolean)

Beendet die Ausführung der aktuellen Seite und startet die Ausführung einer neuen Anforderung mithilfe eines benutzerdefinierten HTTP-Handlers, der die IHttpHandler Schnittstelle implementiert, und gibt an, ob die QueryString Auflistungen gelöscht werden Form sollen.

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)

Parameter

handler
IHttpHandler

Der HTTP-Handler, der die IHttpHandler übertragung der aktuellen Anforderung implementiert.

preserveForm
Boolean

trueum die Auflistungen Form und die Sammlungen zu erhalten, false um die QueryStringQueryString Auflistungen Form zu löschen.

Ausnahmen

Die aktuelle Seitenanforderung ist ein Rückruf.

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 definiert ist, anstelle herkömmlicher ASP-Seiten (auch als klassische ASP bezeichnet) oder ASP.NET Seiten reagiert auf diese spezifischen Anforderungen. HTTP-Handler ermöglichen die Interaktion mit den Low-Level-Anforderungs- und Antwortdiensten eines Webservers, auf dem Internetinformationsdienste (INTERNET Information Services, IIS) ausgeführt werden, und sie bieten Funktionen, die isAPI-Erweiterungen ähneln, aber mit einem einfacheren Programmiermodell.

Wenn Sie den preserveForm Parameter auf true festlegen, kann die Zielseite mithilfe der PreviousPage Eigenschaft auf den Ansichtszustand der vorherigen Seite zugreifen.

Aus Sicherheitsgründen sollten Sie das enableViewStateMac Attribut auf ".true ASP.NET überprüft nicht, ob der aktuelle Benutzer berechtigt ist, die von der Transfer 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 Transfer Methode angegebenen Handler direkt auf und führt keine Authentifizierungs- und Autorisierungslogik für die neue Ressource erneut aus. Wenn für die Sicherheitsrichtlinie für Ihre Anwendung Clients eine entsprechende Autorisierung für den Zugriff auf die Ressource erforderlich sind, sollte die Anwendung die erneute Dokumenterstellung erzwingen oder einen benutzerdefinierten Zugriffssteuerungsmechanismus bereitstellen.

Sie können die erneute Dokumenterstellung erzwingen, indem Sie die Redirect Methode anstelle der Transfer Methode verwenden. Die Redirect Methode 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 das System eingibt, unterliegt sie allen Authentifizierungs- und Autorisierungslogiken sowohl der IIS- als auch 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 Transfer Methode aufruft.

Gilt für: