HttpServerUtility.Execute Метод

Определение

Выполняет действия обработчика для заданного ресурса в контексте текущего запроса и возвращает выполнение на страницу, которая его вызвала.

Перегрузки

Execute(String)

Выполняет действия обработчика для заданного виртуального пути в контексте текущего запроса.

Execute(String, Boolean)

Выполняет действия обработчика для заданного виртуального пути в контексте текущего запроса и указывает, необходимо ли очистить коллекции QueryString и Form.

Execute(String, TextWriter)

Выполняет действия обработчика для заданного виртуального пути в контексте текущего запроса. TextWriter перенаправляет выходные данные выполненного обработчика.

Execute(String, TextWriter, Boolean)

Выполняет действия обработчика для заданного виртуального пути в контексте текущего запроса. TextWriter перенаправляет выходные данные со страницы, а логический параметр указывает, необходимо ли очищать коллекции QueryString и Form.

Execute(IHttpHandler, TextWriter, Boolean)

Выполняет действия обработчика для заданного виртуального пути в контексте текущего запроса. TextWriter перенаправляет выходные данные от выполненного обработчика, а логический параметр указывает, необходимо ли очищать коллекции QueryString и Form.

Execute(String)

Выполняет действия обработчика для заданного виртуального пути в контексте текущего запроса.

public:
 void Execute(System::String ^ path);
public void Execute (string path);
member this.Execute : string -> unit
Public Sub Execute (path As String)

Параметры

path
String

Выполняемый URL-путь.

Исключения

Текущий HttpContextnull.

-или-

Произошла ошибка при выполнении действий обработчика, заданного path.

path имеет значение null.

-или-

path не является виртуальным путем.

Примеры

В следующем примере отображается aspx-страница Updateinfo.aspx в текущем каталоге. Выполнение программы возвращается на начальную страницу после отображения страницы Updateinfo.aspx.

Server.Execute("updateinfo.aspx");

Server.Execute("updateinfo.aspx")
   

Комментарии

Метод Execute продолжает выполнение исходной страницы после завершения выполнения новой страницы. Метод Transfer безоговорочно передает выполнение другому обработчику.

ASP.NET не проверяет, авторизован ли текущий пользователь для просмотра ресурса, предоставленного методом Execute . Хотя ASP.NET логика авторизации и проверки подлинности выполняется до вызова исходного обработчика ресурсов, ASP.NET напрямую вызывает обработчик, указанный Execute методом , и не выполняет повторную проверку подлинности и логику авторизации для нового ресурса. Если политика безопасности приложения требует, чтобы клиенты имели соответствующую авторизацию для доступа к ресурсу, приложение должно принудительно выполнить повторную авторизацию или предоставить пользовательский механизм управления доступом.

Вы можете принудительно выполнить повторную проверку подлинности с помощью Redirect метода , а не Execute метода . Redirect выполняет перенаправление на стороне клиента, в котором браузер запрашивает новый ресурс. Так как это перенаправление является новым запросом, поступающим в систему, к нему применяется вся логика проверки подлинности и авторизации служб IIS и ASP.NET политики безопасности.

Вы можете убедиться, что у пользователя есть разрешение на просмотр ресурса, включив пользовательский метод авторизации, который использует IsInRole метод , прежде чем приложение вызовет Execute метод .

Применяется к

Execute(String, Boolean)

Выполняет действия обработчика для заданного виртуального пути в контексте текущего запроса и указывает, необходимо ли очистить коллекции QueryString и 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)

Параметры

path
String

Выполняемый URL-путь.

preserveForm
Boolean

Значение true, чтобы сохранить коллекции QueryString и Form; значение false, чтобы очистить коллекции QueryString и Form.

Исключения

Текущий HttpContextnull.

-или-

Произошла ошибка при выполнении действий обработчика, заданного path.

path имеет значение null.

-или-

path не является виртуальным путем.

Примеры

В следующем примере показано, как выполнить ASPX-страницу Updateinfo.aspx в текущем запросе QueryString и сохранить коллекции и Form . Выполнение программы возвращается на начальную страницу после 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

См. также раздел

Применяется к

Execute(String, TextWriter)

Выполняет действия обработчика для заданного виртуального пути в контексте текущего запроса. TextWriter перенаправляет выходные данные выполненного обработчика.

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)

Параметры

path
String

Выполняемый URL-путь.

writer
TextWriter

TextWriter для перенаправления выходных данных.

Исключения

Текущий HttpContextnull.

-или-

Произошла ошибка при выполнении действий обработчика, заданного path.

path имеет значение null.

-или-

path не является виртуальным путем.

Примеры

В следующем примере выполняется Login.aspx страница на сервере в текущем каталоге и получает выходные данные со страницы через StringWriter объект writer. Он записывает html-поток, полученный из , writer в поток вывода 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())
   

Комментарии

Метод Execute продолжает выполнение исходного запроса после завершения выполнения указанного виртуального пути. Метод Transfer безоговорочно передает выполнение другому обработчику.

ASP.NET не проверяет, авторизован ли текущий пользователь для просмотра ресурса, предоставленного методом Execute . Хотя ASP.NET логика авторизации и проверки подлинности выполняется до вызова исходного обработчика ресурсов, ASP.NET напрямую вызывает обработчик, указанный Execute методом , и не выполняет повторную проверку подлинности и логику авторизации для нового ресурса. Если политика безопасности приложения требует, чтобы клиенты имели соответствующую авторизацию для доступа к ресурсу, приложение должно принудительно выполнить повторную авторизацию или предоставить пользовательский механизм управления доступом.

Вы можете принудительно выполнить повторную проверку подлинности с помощью Redirect метода , а не Execute метода . Redirect выполняет перенаправление на стороне клиента, в котором браузер запрашивает новый ресурс. Так как это перенаправление является новым запросом, поступающим в систему, к нему применяется вся логика проверки подлинности и авторизации служб IIS и ASP.NET политики безопасности.

Вы можете убедиться, что у пользователя есть разрешение на просмотр ресурса, включив пользовательский метод авторизации, который использует IsInRole метод , прежде чем приложение вызовет Execute метод .

См. также раздел

Применяется к

Execute(String, TextWriter, Boolean)

Выполняет действия обработчика для заданного виртуального пути в контексте текущего запроса. TextWriter перенаправляет выходные данные со страницы, а логический параметр указывает, необходимо ли очищать коллекции QueryString и 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)

Параметры

path
String

Выполняемый URL-путь.

writer
TextWriter

TextWriter для перенаправления выходных данных.

preserveForm
Boolean

Значение true, чтобы сохранить коллекции QueryString и Form; значение false, чтобы очистить коллекции QueryString и Form.

Исключения

Текущий HttpContext является пустой ссылкой (Nothing в Visual Basic).

-или-

path заканчивается точкой (.).

-или-

Произошла ошибка при выполнении действий обработчика, заданного path.

path имеет значение null.

path не является виртуальным путем.

Примеры

В следующем примере выполняется Login.aspx страница на сервере в текущем каталоге и получает выходные данные со страницы через StringWriter объект writer. Он записывает html-поток, полученный из , writer в поток вывода HTTP. Содержимое коллекций Form и QueryString сохраняется.

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

Комментарии

Метод Execute продолжает выполнение исходного запроса после завершения выполнения указанного виртуального пути. Метод Transfer безоговорочно передает выполнение другому обработчику.

ASP.NET не проверяет, авторизован ли текущий пользователь для просмотра ресурса, предоставленного методом Execute . Хотя ASP.NET логика авторизации и проверки подлинности выполняется до вызова исходного обработчика ресурсов, ASP.NET напрямую вызывает обработчик, указанный Execute методом , и не выполняет повторную проверку подлинности и логику авторизации для нового ресурса. Если политика безопасности приложения требует, чтобы клиенты имели соответствующую авторизацию для доступа к ресурсу, приложение должно принудительно выполнить повторную авторизацию или предоставить пользовательский механизм управления доступом.

Вы можете принудительно выполнить повторную проверку подлинности с помощью Redirect метода , а не Execute метода . Redirect выполняет перенаправление на стороне клиента, в котором браузер запрашивает новый ресурс. Так как это перенаправление является новым запросом, поступающим в систему, к нему применяется вся логика проверки подлинности и авторизации служб IIS и ASP.NET политики безопасности.

Вы можете убедиться, что у пользователя есть разрешение на просмотр ресурса, включив пользовательский метод авторизации, который использует IsInRole метод , прежде чем приложение вызовет Execute метод .

См. также раздел

Применяется к

Execute(IHttpHandler, TextWriter, Boolean)

Выполняет действия обработчика для заданного виртуального пути в контексте текущего запроса. TextWriter перенаправляет выходные данные от выполненного обработчика, а логический параметр указывает, необходимо ли очищать коллекции QueryString и 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)

Параметры

handler
IHttpHandler

Обработчик HTTP-данных, который содержит реализацию IHttpHandler, куда передается текущий запрос.

writer
TextWriter

TextWriter для перенаправления выходных данных.

preserveForm
Boolean

Значение true, чтобы сохранить коллекции QueryString и Form; значение false, чтобы очистить коллекции QueryString и Form.

Исключения

Произошла ошибка при выполнении действий обработчика, заданного handler.

Параметр handler имеет значение null.

Комментарии

Вы можете создавать пользовательские обработчики HTTP для обработки определенных стандартных типов HTTP-запросов на любом языке, который соответствует спецификации CLS. На эти запросы отвечает исполняемый код, определенный в классах обработчиков HTTP вместо обычных страниц ASP (также известных как классический ASP) или ASP.NET страниц. Обработчики HTTP позволяют взаимодействовать с низкоуровневыми службами запросов и ответов веб-сервера, на котором работают службы IIS, и предоставляют функциональные возможности, аналогичные расширениям ISAPI, но с более простой моделью программирования.

ASP.NET не проверяет, авторизован ли текущий пользователь для просмотра ресурса, предоставленного методом Execute . Хотя ASP.NET логика авторизации и проверки подлинности выполняется до вызова исходного обработчика ресурсов, ASP.NET напрямую вызывает обработчик, указанный методом Execute , и не выполняет повторную проверку подлинности и логику авторизации для нового ресурса. Если политика безопасности приложения требует, чтобы клиенты имели соответствующую авторизацию для получения доступа к ресурсу, приложение должно принудительно выполнить повторную авторизацию или предоставить пользовательский механизм управления доступом.

Вы можете принудительно выполнить повторную проверку подлинности с помощью Redirect метода , а не Execute метода . выполняет Redirect перенаправление на стороне клиента, в котором браузер запрашивает новый ресурс. Так как это перенаправление представляет собой новый запрос, поступающий в систему, к нему применяется вся логика проверки подлинности и авторизации как IIS, так и политики безопасности ASP.NET.

Вы можете убедиться, что у пользователя есть разрешение на просмотр ресурса, включив пользовательский метод авторизации, который использует IsInRole метод , прежде чем приложение вызовет Execute метод .

См. также раздел

Применяется к