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

Исключения

Текущий HttpContext .null

–или–

Произошла ошибка при выполнении обработчика, указанного в 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.

Исключения

Текущий HttpContext .null

–или–

Произошла ошибка при выполнении обработчика, указанного в 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 записи выходных данных.

Исключения

Текущий HttpContext .null

–или–

Произошла ошибка при выполнении обработчика, указанного в 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 метод.

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

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