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