HttpServerUtility.Transfer 方法

定义

终止当前页的执行,并为当前请求开始执行新页。

重载

Transfer(String)

对于当前请求,终止当前页的执行,并使用指定的页 URL 路径来开始执行一个新页。

Transfer(String, Boolean)

终止当前页的执行,并使用指定的页 URL 路径来开始执行一个新页。 指定是否清除 QueryStringForm 集合。

Transfer(IHttpHandler, Boolean)

终止当前页的执行,然后使用实现 IHttpHandler 接口的自定义 HTTP 处理程序开始新请求的执行,并指定是否清除 QueryStringForm 集合。

Transfer(String)

对于当前请求,终止当前页的执行,并使用指定的页 URL 路径来开始执行一个新页。

public:
 void Transfer(System::String ^ path);
public void Transfer (string path);
member this.Transfer : string -> unit
Public Sub Transfer (path As String)

参数

path
String

服务器上要执行的新页的 URL 路径。

注解

传输到 的页面应为另一个 .aspx 页。 例如,传输到 .asp 或 .asmx 页无效。 方法 Transfer 保留 QueryStringForm 集合。

Transfer 调用 End,这会在完成时引发 ThreadAbortException 异常。

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

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

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

适用于

Transfer(String, Boolean)

终止当前页的执行,并使用指定的页 URL 路径来开始执行一个新页。 指定是否清除 QueryStringForm 集合。

public:
 void Transfer(System::String ^ path, bool preserveForm);
public void Transfer (string path, bool preserveForm);
member this.Transfer : string * bool -> unit
Public Sub Transfer (path As String, preserveForm As Boolean)

参数

path
String

服务器上要执行的新页的 URL 路径。

preserveForm
Boolean

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

例外

当前页面请求为回调。

示例

以下示例在当前页所在的同一目录中执行新页。

Server.Transfer("Logon.aspx", true);

Server.Transfer("Logon.aspx", true)

注解

传输到 的页面应为另一个 .aspx 页。 例如,传输到 .asp 或 .asmx 页无效。

Transfer 调用 End,这会在完成时引发 ThreadAbortException 异常。

如果将 参数设置为 preserveFormtrue,则目标页将能够使用 PreviousPage 属性访问上一页的视图状态。

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

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

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

适用于

Transfer(IHttpHandler, Boolean)

终止当前页的执行,然后使用实现 IHttpHandler 接口的自定义 HTTP 处理程序开始新请求的执行,并指定是否清除 QueryStringForm 集合。

public:
 void Transfer(System::Web::IHttpHandler ^ handler, bool preserveForm);
public void Transfer (System.Web.IHttpHandler handler, bool preserveForm);
member this.Transfer : System.Web.IHttpHandler * bool -> unit
Public Sub Transfer (handler As IHttpHandler, preserveForm As Boolean)

参数

handler
IHttpHandler

实现 IHttpHandler 以便向其传输当前请求的 HTTP 处理程序。

preserveForm
Boolean

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

例外

当前页面请求为回调。

注解

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

如果将 参数设置为 preserveFormtrue,则目标页将能够使用 PreviousPage 属性访问上一页的视图状态。

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

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

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

适用于