HttpServerUtility.Transfer Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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.