HttpServerUtility.Transfer Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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 true
hodnotu , 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 true
hodnotu , 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.