HttpServerUtility.Execute 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í.
Spustí obslužnou rutinu pro zadaný prostředek v kontextu aktuálního požadavku a vrátí spuštění na stránku, která ho vyvolala.
Přetížení
Execute(String) |
Spustí obslužnou rutinu pro zadanou virtuální cestu v kontextu aktuálního požadavku. |
Execute(String, Boolean) |
Spustí obslužnou rutinu pro zadanou virtuální cestu v kontextu aktuálního požadavku a určuje, zda se mají vymazat QueryString kolekce a Form . |
Execute(String, TextWriter) |
Spustí obslužnou rutinu pro zadanou virtuální cestu v kontextu aktuálního požadavku. Zachytí TextWriter výstup ze spuštěné obslužné rutiny. |
Execute(String, TextWriter, Boolean) |
Spustí obslužnou rutinu pro zadanou virtuální cestu v kontextu aktuálního požadavku. Zachytí TextWriter výstup ze stránky a logický parametr určuje, jestli se mají kolekce a Form vymazatQueryString. |
Execute(IHttpHandler, TextWriter, Boolean) |
Spustí obslužnou rutinu pro zadanou virtuální cestu v kontextu aktuálního požadavku. Zachytí TextWriter výstup ze spuštěné obslužné rutiny a logický parametr určuje, jestli se mají kolekce a Form vymazatQueryString. |
Execute(String)
Spustí obslužnou rutinu pro zadanou virtuální cestu v kontextu aktuálního požadavku.
public:
void Execute(System::String ^ path);
public void Execute (string path);
member this.Execute : string -> unit
Public Sub Execute (path As String)
Parametry
- path
- String
Cesta URL, která se má spustit.
Výjimky
Aktuální HttpContext hodnota je null
.
-nebo-
Při provádění obslužné rutiny určené nástrojem path
došlo k chybě.
Příklady
Následující příklad zobrazí stránku .aspx Updateinfo.aspx v aktuálním adresáři. Spuštění programu se po zobrazení stránky Updateinfo.aspx vrátí na počáteční stránku.
Server.Execute("updateinfo.aspx");
Server.Execute("updateinfo.aspx")
Poznámky
Metoda Execute pokračuje v provádění původní stránky po dokončení spuštění nové stránky. Metoda Transfer bezpodmínečně přenese provádění do jiné obslužné rutiny.
ASP.NET neověří, že aktuální uživatel má oprávnění k zobrazení prostředku dodaného metodou Execute . Přestože ASP.NET autorizační a ověřovací logika běží před voláním původní obslužné rutiny prostředku, ASP.NET přímo volá obslužnou rutinu označenou metodou Execute a nespustí znovu logiku ověřování a autorizace pro nový prostředek. Pokud zásady zabezpečení vaší aplikace vyžadují, aby klienti měli odpovídající oprávnění pro přístup k prostředku, 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 Execute metody . Redirect provede přesměrování na straně klienta, ve kterém prohlížeč požádá o nový prostředek. Vzhledem k tomu, že toto přesměrování je nový požadavek, který vstupuje do systému, podléhá veškeré logice ověřování a autorizace Internetové informační služby (IIS) a ASP.NET zásad zabezpečení.
Můžete ověřit, že uživatel má oprávnění k zobrazení prostředku začleněním vlastní autorizační metody, která používá metodu IsInRole předtím, než aplikace zavolá metodu Execute .
Platí pro
Execute(String, Boolean)
Spustí obslužnou rutinu pro zadanou virtuální cestu v kontextu aktuálního požadavku a určuje, zda se mají vymazat QueryString kolekce a Form .
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)
Parametry
- path
- String
Cesta URL, která se má spustit.
- preserveForm
- Boolean
true
zachovat QueryString kolekce a Form ; false
vymazat QueryString kolekce a Form .
Výjimky
Aktuální HttpContext hodnota je null
.
-nebo-
Při provádění obslužné rutiny určené nástrojem path
došlo k chybě.
Příklady
Následující příklad ukazuje, jak spustit stránku Updateinfo.aspx
.aspx v aktuálním požadavku a zachovat QueryString kolekce a Form . Spuštění programu se po Updateinfo.aspx
zobrazení vrátí na počáteční stránku.
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
Viz také
Platí pro
Execute(String, TextWriter)
Spustí obslužnou rutinu pro zadanou virtuální cestu v kontextu aktuálního požadavku. Zachytí TextWriter výstup ze spuštěné obslužné rutiny.
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)
Parametry
- path
- String
Cesta URL, která se má spustit.
- writer
- TextWriter
Chcete-li TextWriter zachytit výstup.
Výjimky
Aktuální HttpContext hodnota je null
.
-nebo-
Při provádění obslužné rutiny určené nástrojem path
došlo k chybě.
Příklady
Následující příklad spustí Login.aspx
stránku na serveru v aktuálním adresáři a přijme výstup ze stránky prostřednictvím objektu StringWriterwriter
. Zapisuje datový proud HTML přijatý z writer
do výstupního streamu HTTP.
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())
Poznámky
Metoda Execute pokračuje v provádění původního požadavku po dokončení provádění zadané virtuální cesty. Metoda Transfer bezpodmínečně přenese provádění do jiné obslužné rutiny.
ASP.NET neověří, že aktuální uživatel má oprávnění k zobrazení prostředku dodaného metodou Execute . Přestože ASP.NET autorizační a ověřovací logika běží před voláním původní obslužné rutiny prostředku, ASP.NET přímo volá obslužnou rutinu označenou metodou Execute a nespustí znovu logiku ověřování a autorizace pro nový prostředek. Pokud zásady zabezpečení vaší aplikace vyžadují, aby klienti měli odpovídající oprávnění pro přístup k prostředku, 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 Execute metody . Redirect provede přesměrování na straně klienta, ve kterém prohlížeč požádá o nový prostředek. Vzhledem k tomu, že toto přesměrování je nový požadavek, který vstupuje do systému, podléhá veškeré logice ověřování a autorizace Internetové informační služby (IIS) a ASP.NET zásad zabezpečení.
Můžete ověřit, že uživatel má oprávnění k zobrazení prostředku začleněním vlastní autorizační metody, která používá metodu IsInRole předtím, než aplikace zavolá metodu Execute .
Viz také
Platí pro
Execute(String, TextWriter, Boolean)
Spustí obslužnou rutinu pro zadanou virtuální cestu v kontextu aktuálního požadavku. Zachytí TextWriter výstup ze stránky a logický parametr určuje, jestli se mají kolekce a Form vymazatQueryString.
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)
Parametry
- path
- String
Cesta URL, která se má spustit.
- writer
- TextWriter
Chcete-li TextWriter zachytit výstup.
- preserveForm
- Boolean
true
zachovat QueryString kolekce a Form ; false
vymazat QueryString kolekce a Form .
Výjimky
Aktuální HttpContext je odkaz s hodnotou null (Nothing
v jazyce Visual Basic).
-nebo-
path
končí tečkou (.).
-nebo-
Při provádění obslužné rutiny určené nástrojem path
došlo k chybě.
path
je null
.
path
není virtuální cesta.
Příklady
Následující příklad spustí Login.aspx
stránku na serveru v aktuálním adresáři a přijme výstup ze stránky prostřednictvím objektu StringWriterwriter
. Zapisuje datový proud HTML přijatý z writer
do výstupního streamu HTTP. Obsah kolekcí Form a QueryString se zachovají.
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
Poznámky
Metoda Execute pokračuje v provádění původního požadavku po dokončení provádění zadané virtuální cesty. Metoda Transfer bezpodmínečně přenese provádění do jiné obslužné rutiny.
ASP.NET neověří, že aktuální uživatel má oprávnění k zobrazení prostředku dodaného metodou Execute . Přestože ASP.NET autorizační a ověřovací logika běží před voláním původní obslužné rutiny prostředku, ASP.NET přímo volá obslužnou rutinu označenou metodou Execute a nespustí znovu logiku ověřování a autorizace pro nový prostředek. Pokud zásady zabezpečení vaší aplikace vyžadují, aby klienti měli odpovídající oprávnění pro přístup k prostředku, 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 Execute metody . Redirect provede přesměrování na straně klienta, ve kterém prohlížeč požádá o nový prostředek. Vzhledem k tomu, že toto přesměrování je nový požadavek, který vstupuje do systému, podléhá veškeré logice ověřování a autorizace Internetové informační služby (IIS) a ASP.NET zásad zabezpečení.
Můžete ověřit, že uživatel má oprávnění k zobrazení prostředku začleněním vlastní autorizační metody, která používá metodu IsInRole předtím, než aplikace zavolá metodu Execute .
Viz také
Platí pro
Execute(IHttpHandler, TextWriter, Boolean)
Spustí obslužnou rutinu pro zadanou virtuální cestu v kontextu aktuálního požadavku. Zachytává TextWriter výstup ze spuštěné obslužné rutiny a logický parametr určuje, jestli se mají kolekce a Form vymazatQueryString.
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)
Parametry
- handler
- IHttpHandler
Obslužná rutina HTTP, která implementuje IHttpHandler nástroj pro přenos aktuálního požadavku do.
- writer
- TextWriter
K TextWriter zachycení výstupu.
- preserveForm
- Boolean
true
k zachování kolekcí QueryStringfalse
a Form a k vymazání QueryString kolekcí aForm.
Výjimky
Při provádění obslužné rutiny určené nástrojem handler
došlo k chybě.
Parametr handler
je null
.
Poznámky
Můžete napsat vlastní obslužné rutiny HTTP ke 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, který je definován ve třídách obslužné rutiny HTTP místo konvenčních stránek ASP (označovaných také jako klasické ASP) nebo stránky ASP.NET odpovídá 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 podobné rozšířením ISAPI, ale s jednodušším programovacím modelem.
ASP.NET neověřuje, jestli má aktuální uživatel oprávnění k zobrazení prostředku dodaného metodou Execute . Přestože ASP.NET logika autorizace a ověřování běží před voláním původní obslužné rutiny prostředku, ASP.NET přímo volá obslužnou rutinu, která je určena metodou Execute a nespustí znovu logiku ověřování a autorizace pro nový prostředek. Pokud zásady zabezpečení pro vaši aplikaci vyžadují, aby klienti měli odpovídající autorizaci pro získání přístupu k prostředku, měla by aplikace vynutit opětovnou autorizaci nebo poskytnout vlastní mechanismus řízení přístupu.
Opětovnou autorizaci můžete vynutit pomocí Redirect metody místo Execute metody . Provede Redirect přesměrování na straně klienta, ve kterém prohlížeč požádá o nový prostředek. Vzhledem k tomu, že toto přesměrování je nový požadavek, který vstupuje do systému, podléhá veškeré logice ověřování a autorizace zásad zabezpečení služby IIS i ASP.NET.
Můžete ověřit, že uživatel má oprávnění k zobrazení prostředku zahrnutím vlastní autorizační metody, která používá metodu IsInRole předtím, než aplikace zavolá metodu Execute .