Sdílet prostřednictvím


HttpServerUtility.Transfer Metoda

Definice

Ukončí spuštění aktuální stránky a spustí spuštění nové stránky pro aktuální požadavek.

Přetížení

Transfer(String)

U aktuálního požadavku ukončí spuštění aktuální stránky a spustí spuštění nové stránky pomocí zadané cesty URL stránky.

Transfer(String, Boolean)

Ukončí spuštění aktuální stránky a spustí spuštění nové stránky pomocí zadané cesty URL stránky. Určuje, jestli se mají vymazat QueryString kolekce a Form kolekce.

Transfer(IHttpHandler, Boolean)

Ukončí spuštění aktuální stránky a spustí spuštění nového požadavku pomocí vlastní obslužné rutiny HTTP, která implementuje IHttpHandler rozhraní a určuje, jestli se mají vymazat QueryString kolekce.Form

Transfer(String)

U aktuálního požadavku ukončí spuštění aktuální stránky a spustí spuštění nové stránky pomocí zadané cesty URL stránky.

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

Parametry

path
String

Cesta URL nové stránky na serveru, která se má spustit.

Poznámky

Stránka převedená na jinou stránku .aspx. Přenos na stránku .asp nebo .asmx například není platný. Metoda Transfer zachovává a QueryString Form kolekce.

Transfer volání End, která vyvolá ThreadAbortException výjimku po dokončení.

ASP.NET neověřuje, že aktuální uživatel má oprávnění k zobrazení prostředku doručeného metodouTransfer. I když ASP.NET autorizační a ověřovací logika běží před voláním původní obslužné rutiny prostředků, ASP.NET přímo volá obslužnou rutinu Transfer označenou metodou a nespustí znovu ověřovací a autorizační logiku pro nový prostředek. Pokud zásady zabezpečení vaší aplikace vyžadují, aby klienti měli pro přístup k prostředku odpovídající autorizaci, měla by aplikace vynutit opětovné ověření nebo poskytnout vlastní mechanismus řízení přístupu.

Opětovné ověření můžete vynutit pomocí Redirect metody místo Transfer metody. Metoda Redirect provádí přesměrování na straně klienta, ve kterém prohlížeč požaduje nový prostředek. Vzhledem k tomu, že toto přesměrování je nový požadavek, který zadává systém, podléhá veškeré logice ověřování a autorizace Internetová informační služba (IIS) i ASP.NET zásad zabezpečení.

Můžete ověřit, že uživatel má oprávnění k zobrazení prostředku zahrnutím vlastní metody autorizace, která tuto metodu používá IsInRole před voláním Transfer metody aplikace.

Platí pro

Transfer(String, Boolean)

Ukončí spuštění aktuální stránky a spustí spuštění nové stránky pomocí zadané cesty URL stránky. Určuje, jestli se mají vymazat QueryString kolekce a Form kolekce.

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)

Parametry

path
String

Cesta URL nové stránky na serveru, která se má spustit.

preserveForm
Boolean

true k zachování a QueryString Form kolekcí; false QueryString vymazání kolekcí a Form kolekcí.

Výjimky

Aktuální žádost o stránku je zpětné volání.

Příklady

Následující příklad spustí novou stránku ve stejném adresáři jako aktuální stránka.

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

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

Poznámky

Stránka převedená na jinou stránku .aspx. Přenos na stránku .asp nebo .asmx například není platný.

Transfer volání End, která vyvolá ThreadAbortException výjimku po dokončení.

Pokud nastavíte preserveForm parametr na truehodnotu , cílová stránka bude mít přístup ke stavu zobrazení předchozí stránky pomocí PreviousPage vlastnosti.

Pro účely zabezpečení byste měli zachovat enableViewStateMac atribut nastavený na true. ASP.NET neověřuje, že aktuální uživatel má oprávnění k zobrazení prostředku doručeného metodouTransfer. I když ASP.NET autorizační a ověřovací logika běží před voláním původní obslužné rutiny prostředků, ASP.NET přímo volá obslužnou rutinu Transfer označenou metodou a nespustí znovu ověřovací a autorizační logiku pro nový prostředek. Pokud zásady zabezpečení vaší aplikace vyžadují, aby klienti měli pro přístup k prostředku odpovídající autorizaci, měla by aplikace vynutit opětovné ověření nebo poskytnout vlastní mechanismus řízení přístupu.

Opětovné ověření můžete vynutit pomocí Redirect metody místo Transfer metody. Metoda Redirect provádí přesměrování na straně klienta, ve kterém prohlížeč požaduje nový prostředek. Vzhledem k tomu, že toto přesměrování je nový požadavek, který zadává systém, podléhá veškeré logice ověřování a autorizace Internetová informační služba (IIS) i ASP.NET zásad zabezpečení.

Můžete ověřit, že uživatel má oprávnění k zobrazení prostředku zahrnutím vlastní metody autorizace, která tuto metodu používá IsInRole před voláním Transfer metody aplikace.

Platí pro

Transfer(IHttpHandler, Boolean)

Ukončí spuštění aktuální stránky a spustí spuštění nového požadavku pomocí vlastní obslužné rutiny HTTP, která implementuje IHttpHandler rozhraní a určuje, jestli se mají vymazat QueryString kolekce.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)

Parametry

handler
IHttpHandler

Obslužná rutina HTTP, která implementuje IHttpHandler přenos aktuálního požadavku do.

preserveForm
Boolean

true k zachování a QueryString Form kolekcí; false QueryString vymazání kolekcí a Form kolekcí.

Výjimky

Aktuální žádost o stránku je zpětné volání.

Poznámky

Můžete napsat vlastní obslužné rutiny HTTP pro zpracování konkrétních předdefinovaných typů požadavků HTTP v libovolném jazyce, který je kompatibilní se specifikací CLS (Common Language Specification). Spustitelný kód definovaný v třídách obslužné rutiny HTTP místo konvenčních stránek ASP (označovaných také jako klasické asp) nebo ASP.NET stránky reagují na tyto konkrétní požadavky. Obslužné rutiny HTTP umožňují interakci se službami požadavků a odpovědí nízké úrovně webového serveru, na kterém běží Internetová informační služba (IIS), a poskytují funkce, které se podobají rozšířením ISAPI, ale s jednodušším programovacím modelem.

Pokud nastavíte preserveForm parametr na truehodnotu , cílová stránka bude mít přístup ke stavu zobrazení předchozí stránky pomocí PreviousPage vlastnosti.

Pro účely zabezpečení byste měli zachovat enableViewStateMac atribut nastavený na true. ASP.NET neověřuje, že aktuální uživatel má oprávnění k zobrazení prostředku doručeného metodouTransfer. I když ASP.NET autorizační a ověřovací logika běží před voláním původní obslužné rutiny prostředků, ASP.NET přímo volá obslužnou rutinu označenou metodou Transfer a nespustí znovu ověřovací a autorizační logiku pro nový prostředek. Pokud zásady zabezpečení pro vaši aplikaci vyžadují, aby klienti měli pro přístup k prostředku odpovídající autorizaci, měla by aplikace vynutit opětovné ověření nebo poskytnout vlastní mechanismus řízení přístupu.

Opětovné ověření můžete vynutit pomocí Redirect metody místo Transfer metody. Metoda Redirect provádí přesměrování na straně klienta, ve kterém prohlížeč požaduje nový prostředek. Vzhledem k tomu, že toto přesměrování je nový požadavek, který zadává systém, podléhá veškeré logice ověřování a autorizace služby IIS a ASP.NET zásady zabezpečení.

Můžete ověřit, že uživatel má oprávnění k zobrazení prostředku zahrnutím vlastní metody autorizace, která tuto metodu používá IsInRole před voláním Transfer metody aplikace.

Platí pro