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