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á 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

Aktuální HttpContext je null.

nebo

Při provádění obslužné rutiny určené parametrem path.

path je null.

nebo

path není virtuální cesta.

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

Aktuální HttpContext je null.

nebo

Při provádění obslužné rutiny určené parametrem path.

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

Aktuální HttpContext je null.

nebo

Při provádění obslužné rutiny určené parametrem path.

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. 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.

Viz také

Platí pro