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的处理程序,并且不会重新运行新资源的身份验证和授权逻辑。 如果应用程序的安全策略要求客户端具有访问资源的适当授权,则应用程序应强制重新授权或提供自定义访问控制机制。
可以使用方法而不是Execute方法强制重新授权Redirect。 Redirect 执行客户端重定向,浏览器在其中请求新资源。 由于此重定向是进入系统的新请求,因此它受Internet Information Services (IIS) 和 ASP.NET 安全策略的所有身份验证和授权逻辑的约束。
可以通过合并在应用程序调用Execute该方法之前使用IsInRole该方法的自定义授权方法来验证用户是否有权查看资源。
适用于
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
若要保留 QueryString 和 Form 集合,则为 true
;如果要清除 QueryString 和 Form 集合,则为 false
。
例外
示例
以下示例演示如何在当前请求中执行 .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接收输出。 它将从 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方法强制重新授权Redirect。 Redirect 执行客户端重定向,浏览器在其中请求新资源。 由于此重定向是进入系统的新请求,因此它受Internet Information Services (IIS) 和 ASP.NET 安全策略的所有身份验证和授权逻辑的约束。
可以通过合并在应用程序调用Execute该方法之前使用IsInRole该方法的自定义授权方法来验证用户是否有权查看资源。
另请参阅
适用于
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
若要保留 QueryString 和 Form 集合,则为 true
;如果要清除 QueryString 和 Form 集合,则为 false
。
例外
当前 HttpContext 为 NULL 引用(Visual Basic 中为 Nothing
)。
或 -
path
以句点 (.) 结尾。或 - 执行由
path
指定的处理程序时发生错误。
path
为 null
。
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方法强制重新授权Redirect。 Redirect 执行客户端重定向,浏览器在其中请求新资源。 由于此重定向是进入系统的新请求,因此它受Internet Information Services (IIS) 和 ASP.NET 安全策略的所有身份验证和授权逻辑的约束。
可以通过合并在应用程序调用Execute该方法之前使用IsInRole该方法的自定义授权方法来验证用户是否有权查看资源。
另请参阅
适用于
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
若要保留 QueryString 和 Form 集合,则为 true
;如果要清除 QueryString 和 Form 集合,则为 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该方法的自定义授权方法来验证用户是否有权查看资源。