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 не является виртуальным путем.

Примеры

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

Примеры

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

Параметр handlernull.

Комментарии

Пользовательские обработчики 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.

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

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