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