HttpServerUtility.Execute 方法

定义

在当前请求的上下文中执行指定资源的处理程序,然后将执行返回给调用它的页。

重载

Execute(String)

在当前请求的上下文中执行指定虚拟路径的处理程序。

Execute(String, Boolean)

在当前请求的上下文中执行指定虚拟路径的处理器,并指定是否清除 QueryStringForm 集合。

Execute(String, TextWriter)

在当前请求的上下文中执行指定虚拟路径的处理程序。 TextWriter 捕获执行的处理程序的输出。

Execute(String, TextWriter, Boolean)

在当前请求的上下文中执行指定虚拟路径的处理程序。 TextWriter 捕获页面输出,布尔参数则指定是否清除 QueryStringForm 集合。

Execute(IHttpHandler, TextWriter, Boolean)

在当前请求的上下文中执行指定虚拟路径的处理程序。 TextWriter 捕获执行的处理程序的输出,布尔参数则指定是否清除 QueryStringForm 集合。

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 路径。

例外

当前的 HttpContextnull

  • 或 - 执行由 path 指定的处理程序时发生错误。

pathnull

  • 或 - path 不是虚拟路径。

示例

以下示例显示当前目录中的 .aspx 页“Updateinfo.aspx”。 显示 Updateinfo.aspx 页面后,程序执行将返回到起始页。

Server.Execute("updateinfo.aspx");

Server.Execute("updateinfo.aspx")
   

注解

完成新页面执行后,该方法 Execute 将继续执行原始页面。 该方法 Transfer 无条件地将执行传输到另一个处理程序。

ASP.NET 不验证当前用户是否有权查看方法传递Execute的资源。 尽管 ASP.NET 授权和身份验证逻辑在调用原始资源处理程序之前运行,但 ASP.NET 直接调用该方法指示Execute的处理程序,并且不会重新运行新资源的身份验证和授权逻辑。 如果应用程序的安全策略要求客户端具有访问资源的适当授权,则应用程序应强制重新授权或提供自定义访问控制机制。

可以使用方法而不是Execute方法强制重新授权RedirectRedirect 执行客户端重定向,浏览器在其中请求新资源。 由于此重定向是进入系统的新请求,因此它受Internet Information Services (IIS) 和 ASP.NET 安全策略的所有身份验证和授权逻辑的约束。

可以通过合并在应用程序调用Execute该方法之前使用IsInRole该方法的自定义授权方法来验证用户是否有权查看资源。

适用于

Execute(String, Boolean)

在当前请求的上下文中执行指定虚拟路径的处理器,并指定是否清除 QueryStringForm 集合。

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

若要保留 QueryStringForm 集合,则为 true;如果要清除 QueryStringForm 集合,则为 false

例外

当前的 HttpContextnull

  • 或 - 执行由 path 指定的处理程序时发生错误。

pathnull

  • 或 - path 不是虚拟路径。

示例

以下示例演示如何在当前请求中执行 .aspx 页 Updateinfo.aspx 并保留 QueryStringForm 集合。 显示程序执行后 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

例外

当前的 HttpContextnull

  • 或 - 执行由 path 指定的处理程序时发生错误。

pathnull

  • 或 - path 不是虚拟路径。

示例

以下示例在当前目录中的服务器上执行Login.aspx该页,并通过对象writer从页面StringWriter接收输出。 它将从 writer HTTP 输出流接收的 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的处理程序,并且不会重新运行新资源的身份验证和授权逻辑。 如果应用程序的安全策略要求客户端具有访问资源的适当授权,则应用程序应强制重新授权或提供自定义访问控制机制。

可以使用方法而不是Execute方法强制重新授权RedirectRedirect 执行客户端重定向,浏览器在其中请求新资源。 由于此重定向是进入系统的新请求,因此它受Internet Information Services (IIS) 和 ASP.NET 安全策略的所有身份验证和授权逻辑的约束。

可以通过合并在应用程序调用Execute该方法之前使用IsInRole该方法的自定义授权方法来验证用户是否有权查看资源。

另请参阅

适用于

Execute(String, TextWriter, Boolean)

在当前请求的上下文中执行指定虚拟路径的处理程序。 TextWriter 捕获页面输出,布尔参数则指定是否清除 QueryStringForm 集合。

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

若要保留 QueryStringForm 集合,则为 true;如果要清除 QueryStringForm 集合,则为 false

例外

当前 HttpContext 为 NULL 引用(Visual Basic 中为 Nothing)。

  • 或 - path 以句点 (.) 结尾。

  • 或 - 执行由 path 指定的处理程序时发生错误。

pathnull

path 不是虚拟路径。

示例

以下示例在当前目录中的服务器上执行Login.aspx该页,并通过对象writer从页面StringWriter接收输出。 它将从 writer HTTP 输出流接收的 HTML 流写入。 保留集合QueryString的内容Form

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的处理程序,并且不会重新运行新资源的身份验证和授权逻辑。 如果应用程序的安全策略要求客户端具有访问资源的适当授权,则应用程序应强制重新授权或提供自定义访问控制机制。

可以使用方法而不是Execute方法强制重新授权RedirectRedirect 执行客户端重定向,浏览器在其中请求新资源。 由于此重定向是进入系统的新请求,因此它受Internet Information Services (IIS) 和 ASP.NET 安全策略的所有身份验证和授权逻辑的约束。

可以通过合并在应用程序调用Execute该方法之前使用IsInRole该方法的自定义授权方法来验证用户是否有权查看资源。

另请参阅

适用于

Execute(IHttpHandler, TextWriter, Boolean)

在当前请求的上下文中执行指定虚拟路径的处理程序。 TextWriter 捕获执行的处理程序的输出,布尔参数则指定是否清除 QueryStringForm 集合。

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

若要保留 QueryStringForm 集合,则为 true;如果要清除 QueryStringForm 集合,则为 false

例外

执行由 handler 指定的处理程序时发生错误。

handler 参数为 null

注解

可以编写自定义 HTTP 处理程序来处理符合公共语言规范 (CLS) 的任何语言的特定预定义 HTTP 请求类型。 HTTP 处理程序类中定义的可执行代码,而不是传统的 ASP (也称为经典 ASP) 页或 ASP.NET 页响应这些特定请求。 HTTP 处理程序允许与运行INTERNET INFORMATION SERVICES (IIS) 的 Web 服务器的低级别请求和响应服务进行交互,它们提供的功能类似于 ISAPI 扩展,但具有更简单的编程模型。

ASP.NET 不验证当前用户是否有权查看方法传递Execute的资源。 尽管 ASP.NET 授权和身份验证逻辑在调用原始资源处理程序之前运行,但 ASP.NET 直接调用由该方法指示Execute的处理程序,并且不会重新运行新资源的身份验证和授权逻辑。 如果应用程序的安全策略要求客户端具有适当的授权才能访问资源,则应用程序应强制重新授权或提供自定义访问控制机制。

可以使用方法而不是Execute方法强制重新授权Redirect。 执行 Redirect 客户端重定向,浏览器在其中请求新资源。 由于此重定向是进入系统的新请求,因此受 IIS 和 ASP.NET 安全策略的所有身份验证和授权逻辑的约束。

可以通过在应用程序调用Execute该方法之前合并使用IsInRole该方法的自定义授权方法来验证用户是否有权查看资源。

另请参阅

适用于