HttpServerUtility.Execute Metoda

Definice

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 pathdošlo k chybě.

path je null.

-nebo-

path není virtuální cesta.

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 pathdošlo k chybě.

path je null.

-nebo-

path není virtuální cesta.

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 pathdošlo k chybě.

path je null.

-nebo-

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.

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 pathdoš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

truek 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 handlerdoš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 .

Viz také

Platí pro