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á ji vyvolala.
Přetížení
| Name | Description |
|---|---|
| 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 a Form kolekce. |
| 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ává TextWriter výstup ze stránky a logický parametr určuje, jestli se mají vymazat QueryString kolekce a Form kolekce. |
| 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í vymazat QueryString a Form kolekce. |
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á provést.
Výjimky
Příklady
Následující příklad zobrazí .aspx stránku "Updateinfo.aspx" v aktuálním adresáři. Spuštění programu se vrátí na úvodní stránku po zobrazení Updateinfo.aspx stránky.
Server.Execute("updateinfo.aspx");
Server.Execute("updateinfo.aspx")
Poznámky
Metoda Execute pokračuje v provádění původní stránky po provedení nové stránky. Metoda Transfer bezpodmínečně přenese provádění do jiné obslužné rutiny.
ASP.NET neověřuje, že aktuální uživatel má oprávnění k zobrazení prostředku dodaného metodou Execute. Přestože ASP.NET autorizace a logika ověřování běží před voláním původní obslužné rutiny prostředků, ASP.NET přímo volá obslužnou rutinu označenou metodou Execute 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ěřování můžete vynutit použitím metody Redirect místo metody Execute. 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žby (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á používá metodu IsInRole předtím, než aplikace volá 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 a Form kolekce.
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á provést.
- preserveForm
- Boolean
true zachovat kolekce QueryString a Form; false vymazat kolekce QueryString a Form.
Výjimky
Příklady
Následující příklad ukazuje, jak spustit stránku Updateinfo.aspx .aspx v aktuálním požadavku a zachovat QueryString a Form kolekce. Po zobrazení se spuštění programu vrátí na úvodní stránku Updateinfo.aspx .
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á provést.
- writer
- TextWriter
Výstup TextWriter se zachytí.
Výjimky
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. Zapíše stream HTML přijatý z writer výstupního datového proudu 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í spuštění zadané virtuální cesty. Metoda Transfer bezpodmínečně přenese provádění do jiné obslužné rutiny.
ASP.NET neověřuje, že aktuální uživatel má oprávnění k zobrazení prostředku dodaného metodou Execute. Přestože ASP.NET autorizace a logika ověřování běží před voláním původní obslužné rutiny prostředků, ASP.NET přímo volá obslužnou rutinu označenou metodou Execute 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ěřování můžete vynutit použitím metody Redirect místo metody Execute. 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žby (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á používá metodu IsInRole předtím, než aplikace volá 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ává TextWriter výstup ze stránky a logický parametr určuje, jestli se mají vymazat QueryString kolekce a Form kolekce.
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á provést.
- writer
- TextWriter
Výstup TextWriter se zachytí.
- preserveForm
- Boolean
true zachovat kolekce QueryString a Form; false vymazat kolekce QueryString a Form.
Výjimky
Aktuální HttpContext je odkaz null (Nothing v Visual Basic).
nebo
path končí tečkou (.).
nebo
Při provádění obslužné rutiny určené parametrem path.
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. Zapíše stream HTML přijatý z writer výstupního datového proudu HTTP.
Form Obsah kolekcí a QueryString kolekcí 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í spuštění zadané virtuální cesty. Metoda Transfer bezpodmínečně přenese provádění do jiné obslužné rutiny.
ASP.NET neověřuje, že aktuální uživatel má oprávnění k zobrazení prostředku dodaného metodou Execute. Přestože ASP.NET autorizace a logika ověřování běží před voláním původní obslužné rutiny prostředků, ASP.NET přímo volá obslužnou rutinu označenou metodou Execute 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ěřování můžete vynutit použitím metody Redirect místo metody Execute. 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žby (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á používá metodu IsInRole předtím, než aplikace volá 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í vymazat QueryString a Form kolekce.
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 pro přenos aktuálního požadavku.
- writer
- TextWriter
Výstup TextWriter se zachytí.
- preserveForm
- Boolean
true zachovat kolekce QueryString a Form; false vymazat kolekce QueryString a Form.
Výjimky
Při provádění obslužné rutiny určené parametrem handler.
Parametr handler je null.
Poznámky
Vlastní obslužné rutiny HTTP můžete psát 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.
ASP.NET neověřuje, že aktuální uživatel má oprávnění k zobrazení prostředku, který je doručen metodou Execute. I když se volá ASP.NET autorizace a logika ověřování před voláním původní obslužné rutiny prostředků, ASP.NET přímo volá obslužnou rutinu označenou metodou Execute 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 odpovídající autorizaci pro získání přístupu k prostředku, měla by aplikace vynutit opětovné ověření nebo poskytnout vlastní mechanismus řízení přístupu.
Opětovné ověřování můžete vynutit použitím metody Redirect místo metody Execute. Provede Redirect 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 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á používá metodu IsInRole předtím, než aplikace volá metodu Execute.