Udostępnij za pośrednictwem


HttpServerUtility.Execute Metoda

Definicja

Wykonuje procedurę obsługi dla określonego zasobu w kontekście bieżącego żądania i zwraca wykonanie do strony, która ją wywołała.

Przeciążenia

Execute(String)

Wykonuje procedurę obsługi dla określonej ścieżki wirtualnej w kontekście bieżącego żądania.

Execute(String, Boolean)

Wykonuje procedurę obsługi dla określonej ścieżki wirtualnej w kontekście bieżącego żądania i określa, czy usunąć QueryString kolekcje i Form .

Execute(String, TextWriter)

Wykonuje procedurę obsługi dla określonej ścieżki wirtualnej w kontekście bieżącego żądania. Element TextWriter przechwytuje dane wyjściowe z wykonanej procedury obsługi.

Execute(String, TextWriter, Boolean)

Wykonuje procedurę obsługi dla określonej ścieżki wirtualnej w kontekście bieżącego żądania. Przechwytuje TextWriter dane wyjściowe ze strony i parametr logiczny określa, czy usunąć QueryString kolekcje i Form .

Execute(IHttpHandler, TextWriter, Boolean)

Wykonuje procedurę obsługi dla określonej ścieżki wirtualnej w kontekście bieżącego żądania. Dane TextWriter wyjściowe przechwytują dane wyjściowe z wykonanej procedury obsługi, a parametr logiczny określa, czy usunąć QueryString kolekcje i Form .

Execute(String)

Wykonuje procedurę obsługi dla określonej ścieżki wirtualnej w kontekście bieżącego żądania.

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

Ścieżka adresu URL do wykonania.

Wyjątki

Bieżąca HttpContext wartość to null.

-lub- Wystąpił błąd podczas wykonywania procedury obsługi określonej przez pathprogram .

path to null.

-lub- path nie jest ścieżką wirtualną.

Przykłady

Poniższy przykład przedstawia stronę aspx "Updateinfo.aspx" w bieżącym katalogu. Wykonanie programu powraca na stronę początkową po wyświetleniu strony Updateinfo.aspx.

Server.Execute("updateinfo.aspx");

Server.Execute("updateinfo.aspx")
   

Uwagi

Metoda Execute kontynuuje wykonywanie oryginalnej strony po zakończeniu wykonywania nowej strony. Metoda Transfer bezwarunkowo przesyła wykonywanie do innej procedury obsługi.

ASP.NET nie sprawdza, czy bieżący użytkownik ma uprawnienia do wyświetlania zasobu dostarczonego przez metodęExecute. Mimo że logika autoryzacji i uwierzytelniania ASP.NET jest uruchamiana przed wywołaniem oryginalnego programu obsługi zasobów, ASP.NET bezpośrednio wywołuje procedurę obsługi wskazaną przez Execute metodę i nie uruchamia ponownie logiki uwierzytelniania i autoryzacji dla nowego zasobu. Jeśli zasady zabezpieczeń aplikacji wymagają, aby klienci mieli odpowiednią autoryzację w celu uzyskania dostępu do zasobu, aplikacja powinna wymusić ponowne uwierzytelnianie lub zapewnić niestandardowy mechanizm kontroli dostępu.

Można wymusić ponowne uwierzytelnianie przy użyciu Redirect metody zamiast Execute metody . Redirect wykonuje przekierowanie po stronie klienta, w którym przeglądarka żąda nowego zasobu. Ponieważ to przekierowanie jest nowym żądaniem wprowadzającym system, podlega ono całej logice uwierzytelniania i autoryzacji zarówno Internet Information Services (IIS), jak i zasad zabezpieczeń ASP.NET.

Możesz sprawdzić, czy użytkownik ma uprawnienia do wyświetlania zasobu, dołączając niestandardową metodę autoryzacji, która używa IsInRole metody przed wywołaniem metody przez aplikację Execute .

Dotyczy

Execute(String, Boolean)

Wykonuje procedurę obsługi dla określonej ścieżki wirtualnej w kontekście bieżącego żądania i określa, czy usunąć QueryString kolekcje i 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

Ścieżka adresu URL do wykonania.

preserveForm
Boolean

true w celu zachowania QueryString kolekcji i Form ; false w celu wyczyszczenia QueryString kolekcji i Form .

Wyjątki

Bieżąca HttpContext wartość to null.

-lub- Wystąpił błąd podczas wykonywania procedury obsługi określonej przez pathprogram .

path to null.

-lub- path nie jest ścieżką wirtualną.

Przykłady

W poniższym przykładzie pokazano, jak wykonać stronę Updateinfo.aspx aspx w bieżącym żądaniu i zachować QueryString kolekcje i Form . Wykonanie programu powraca do strony początkowej po Updateinfo.aspx wyświetleniu.

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

Zobacz też

Dotyczy

Execute(String, TextWriter)

Wykonuje procedurę obsługi dla określonej ścieżki wirtualnej w kontekście bieżącego żądania. Element TextWriter przechwytuje dane wyjściowe z wykonanej procedury obsługi.

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

Ścieżka adresu URL do wykonania.

writer
TextWriter

Element TextWriter do przechwytywania danych wyjściowych.

Wyjątki

Bieżąca HttpContext wartość to null.

-lub- Wystąpił błąd podczas wykonywania procedury obsługi określonej przez pathprogram .

path to null.

-lub- path nie jest ścieżką wirtualną.

Przykłady

Poniższy przykład wykonuje Login.aspx stronę na serwerze w bieżącym katalogu i odbiera dane wyjściowe ze strony za pośrednictwem StringWriter obiektu writer. Zapisuje strumień HTML odebrany ze writer strumienia wyjściowego 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())
   

Uwagi

Metoda Execute kontynuuje wykonywanie oryginalnego żądania po wykonaniu określonej ścieżki wirtualnej. Metoda Transfer bezwarunkowo przesyła wykonywanie do innej procedury obsługi.

ASP.NET nie sprawdza, czy bieżący użytkownik ma uprawnienia do wyświetlania zasobu dostarczonego przez metodęExecute. Mimo że logika autoryzacji i uwierzytelniania ASP.NET jest uruchamiana przed wywołaniem oryginalnego programu obsługi zasobów, ASP.NET bezpośrednio wywołuje procedurę obsługi wskazaną przez Execute metodę i nie uruchamia ponownie logiki uwierzytelniania i autoryzacji dla nowego zasobu. Jeśli zasady zabezpieczeń aplikacji wymagają, aby klienci mieli odpowiednią autoryzację w celu uzyskania dostępu do zasobu, aplikacja powinna wymusić ponowne uwierzytelnianie lub zapewnić niestandardowy mechanizm kontroli dostępu.

Można wymusić ponowne uwierzytelnianie przy użyciu Redirect metody zamiast Execute metody . Redirect wykonuje przekierowanie po stronie klienta, w którym przeglądarka żąda nowego zasobu. Ponieważ to przekierowanie jest nowym żądaniem wprowadzającym system, podlega ono całej logice uwierzytelniania i autoryzacji zarówno Internet Information Services (IIS), jak i zasad zabezpieczeń ASP.NET.

Możesz sprawdzić, czy użytkownik ma uprawnienia do wyświetlania zasobu, dołączając niestandardową metodę autoryzacji, która używa IsInRole metody przed wywołaniem metody przez aplikację Execute .

Zobacz też

Dotyczy

Execute(String, TextWriter, Boolean)

Wykonuje procedurę obsługi dla określonej ścieżki wirtualnej w kontekście bieżącego żądania. Przechwytuje TextWriter dane wyjściowe ze strony i parametr logiczny określa, czy usunąć QueryString kolekcje i Form .

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

Ścieżka adresu URL do wykonania.

writer
TextWriter

Element TextWriter do przechwytywania danych wyjściowych.

preserveForm
Boolean

true w celu zachowania QueryString kolekcji i Form ; false w celu wyczyszczenia QueryString kolekcji i Form .

Wyjątki

Bieżący HttpContext jest odwołaniem o wartości null (Nothingw Visual Basic).

-lub- path kończy się kropką (.).

-lub- Wystąpił błąd podczas wykonywania procedury obsługi określonej przez pathprogram .

path to null.

path nie jest ścieżką wirtualną.

Przykłady

Poniższy przykład wykonuje Login.aspx stronę na serwerze w bieżącym katalogu i odbiera dane wyjściowe ze strony za pośrednictwem StringWriter obiektu writer. Zapisuje strumień HTML odebrany ze writer strumienia wyjściowego HTTP. Zawartość Form kolekcji i QueryString jest zachowywana.

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

Uwagi

Metoda Execute kontynuuje wykonywanie oryginalnego żądania po wykonaniu określonej ścieżki wirtualnej. Metoda Transfer bezwarunkowo przesyła wykonywanie do innej procedury obsługi.

ASP.NET nie sprawdza, czy bieżący użytkownik ma uprawnienia do wyświetlania zasobu dostarczonego przez metodęExecute. Mimo że logika autoryzacji i uwierzytelniania ASP.NET jest uruchamiana przed wywołaniem oryginalnego programu obsługi zasobów, ASP.NET bezpośrednio wywołuje procedurę obsługi wskazaną przez Execute metodę i nie uruchamia ponownie logiki uwierzytelniania i autoryzacji dla nowego zasobu. Jeśli zasady zabezpieczeń aplikacji wymagają, aby klienci mieli odpowiednią autoryzację w celu uzyskania dostępu do zasobu, aplikacja powinna wymusić ponowne uwierzytelnianie lub zapewnić niestandardowy mechanizm kontroli dostępu.

Można wymusić ponowne uwierzytelnianie przy użyciu Redirect metody zamiast Execute metody . Redirect wykonuje przekierowanie po stronie klienta, w którym przeglądarka żąda nowego zasobu. Ponieważ to przekierowanie jest nowym żądaniem wprowadzającym system, podlega ono całej logice uwierzytelniania i autoryzacji zarówno Internet Information Services (IIS), jak i zasad zabezpieczeń ASP.NET.

Możesz sprawdzić, czy użytkownik ma uprawnienia do wyświetlania zasobu, dołączając niestandardową metodę autoryzacji, która używa IsInRole metody przed wywołaniem metody przez aplikację Execute .

Zobacz też

Dotyczy

Execute(IHttpHandler, TextWriter, Boolean)

Wykonuje procedurę obsługi dla określonej ścieżki wirtualnej w kontekście bieżącego żądania. Dane TextWriter wyjściowe przechwytują dane wyjściowe z wykonanej procedury obsługi, a parametr logiczny określa, czy usunąć QueryString kolekcje i Form .

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

Procedura obsługi HTTP, która implementuje IHttpHandler element w celu przeniesienia bieżącego żądania do.

writer
TextWriter

Element TextWriter do przechwytywania danych wyjściowych.

preserveForm
Boolean

true w celu zachowania QueryString kolekcji i Form ; false w celu wyczyszczenia QueryString kolekcji i Form .

Wyjątki

Wystąpił błąd podczas wykonywania procedury obsługi określonej przez handlerprogram .

Parametr handler to null.

Uwagi

Niestandardowe programy obsługi HTTP można pisać w celu przetwarzania określonych, wstępnie zdefiniowanych typów żądań HTTP w dowolnym języku zgodnym ze specyfikacją języka wspólnego (CLS). Kod wykonywalny zdefiniowany w klasach obsługi HTTP zamiast konwencjonalnych stron ASP (nazywanych również klasycznymi platformami ASP) lub ASP.NET stron odpowiada na te konkretne żądania. Programy obsługi HTTP umożliwiają interakcję z usługami żądań i odpowiedzi niskiego poziomu serwera sieci Web z uruchomionym Internet Information Services (IIS) i zapewniają funkcje podobne do rozszerzeń ISAPI, ale z prostszym modelem programowania.

ASP.NET nie sprawdza, czy bieżący użytkownik ma uprawnienia do wyświetlania zasobu dostarczonego przez metodęExecute. Mimo że logika autoryzacji i uwierzytelniania ASP.NET jest uruchamiana przed wywołaną oryginalną procedurą obsługi zasobów, ASP.NET bezpośrednio wywołuje procedurę obsługi wskazaną przez Execute metodę i nie uruchamia ponownie logiki uwierzytelniania i autoryzacji dla nowego zasobu. Jeśli zasady zabezpieczeń aplikacji wymagają, aby klienci mieli odpowiednią autoryzację w celu uzyskania dostępu do zasobu, aplikacja powinna wymusić ponowne uwierzytelnianie lub zapewnić niestandardowy mechanizm kontroli dostępu.

Można wymusić ponowne uwierzytelnianie przy użyciu Redirect metody zamiast Execute metody . Program Redirect wykonuje przekierowanie po stronie klienta, w którym przeglądarka żąda nowego zasobu. Ponieważ to przekierowanie jest nowym żądaniem wprowadzającym system, podlega ono całej logice uwierzytelniania i autoryzacji zarówno usług IIS, jak i zasad zabezpieczeń ASP.NET.

Możesz sprawdzić, czy użytkownik ma uprawnienia do wyświetlania zasobu, dołączając niestandardową metodę autoryzacji, która używa IsInRole metody przed wywołaniem metody przez aplikację Execute .

Zobacz też

Dotyczy