HttpServerUtility.Execute 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
在当前请求的上下文中为指定资源执行处理程序,并将执行返回到调用它的页。
重载
| 名称 | 说明 |
|---|---|
| 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 执行客户端重定向,浏览器在其中请求新资源。 由于此重定向是进入系统的新请求,因此它受制于 Internet Information Services(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为 。
例外
示例
以下示例演示如何在当前请求中执行.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 捕获输出。
例外
示例
以下示例在当前目录中的服务器上执行Login.aspx该页,并通过对象writer从该页StringWriter接收输出。 它将从 HTTP 输出流接收 writer 的 HTML 流写入。
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 执行客户端重定向,浏览器在其中请求新资源。 由于此重定向是进入系统的新请求,因此它受制于 Internet Information Services(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为 。
例外
path 是 null。
path 不是虚拟路径。
示例
以下示例在当前目录中的服务器上执行Login.aspx该页,并通过对象writer从该页StringWriter接收输出。 它将从 HTTP 输出流接收 writer 的 HTML 流写入。 保留集合的内容FormQueryString。
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 执行客户端重定向,浏览器在其中请求新资源。 由于此重定向是进入系统的新请求,因此它受制于 Internet Information Services(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
实现 IHttpHandler 将当前请求传输到的 HTTP 处理程序。
- writer
- TextWriter
要 TextWriter 捕获输出。
- preserveForm
- Boolean
true
QueryString保留和Form集合;false若要清除和QueryString集合,则Form为 。
例外
执行由 handler.. 指定的处理程序时出错。
参数 handler 为 null.
注解
可以编写自定义 HTTP 处理程序来处理符合公共语言规范(CLS)的任何语言的特定预定义 HTTP 请求类型。 HTTP 处理程序类中定义的可执行代码(也称为经典 ASP)页或 ASP.NET 页响应这些特定请求。 HTTP 处理程序允许与运行 Internet Information Services(IIS)的 Web 服务器的低级别请求和响应服务进行交互,它们提供的功能类似于 ISAPI 扩展,但具有更简单的编程模型。
ASP.NET 不验证当前用户是否有权查看由 Execute 方法传递的资源。 尽管 ASP.NET 授权和身份验证逻辑在调用原始资源处理程序之前运行,ASP.NET 直接调用由 Execute 方法指示的处理程序,并且不会重新运行新资源的身份验证和授权逻辑。 如果应用程序的安全策略要求客户端具有适当的授权来获取对资源的访问权限,则应用程序应强制重新授权或提供自定义访问控制机制。
可以使用该方法而不是Redirect方法强制重新授权Execute。 执行 Redirect 客户端重定向,浏览器在其中请求新资源。 由于此重定向是进入系统的新请求,因此它受 IIS 和 ASP.NET 安全策略的所有身份验证和授权逻辑的约束。
可以通过合并在应用程序调用IsInRole该方法之前使用Execute该方法的自定义授权方法来验证用户是否有权查看资源。