HttpServerUtility.Transfer 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
终止当前页的执行,并为当前请求开始执行新页。
重载
Transfer(String) |
对于当前请求,终止当前页的执行,并使用指定的页 URL 路径来开始执行一个新页。 |
Transfer(String, Boolean) |
终止当前页的执行,并使用指定的页 URL 路径来开始执行一个新页。 指定是否清除 QueryString 和 Form 集合。 |
Transfer(IHttpHandler, Boolean) |
终止当前页的执行,然后使用实现 IHttpHandler 接口的自定义 HTTP 处理程序开始新请求的执行,并指定是否清除 QueryString 和 Form 集合。 |
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 保留 QueryString 和 Form 集合。
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 路径来开始执行一个新页。 指定是否清除 QueryString 和 Form 集合。
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
若要保留 QueryString 和 Form 集合,则为 true
;如果要清除 QueryString 和 Form 集合,则为 false
。
例外
当前页面请求为回调。
示例
以下示例在当前页所在的同一目录中执行新页。
Server.Transfer("Logon.aspx", true);
Server.Transfer("Logon.aspx", true)
注解
传输到 的页面应为另一个 .aspx 页。 例如,传输到 .asp 或 .asmx 页无效。
Transfer 调用 End,这会在完成时引发 ThreadAbortException 异常。
如果将 参数设置为 preserveForm
true
,则目标页将能够使用 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 处理程序开始新请求的执行,并指定是否清除 QueryString 和 Form 集合。
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
若要保留 QueryString 和 Form 集合,则为 true
;如果要清除 QueryString 和 Form 集合,则为 false
。
例外
当前页面请求为回调。
注解
可以编写自定义 HTTP 处理程序,以符合公共语言规范 (CLS) 的任何语言处理特定、预定义的 HTTP 请求类型。 在 HTTP 处理程序类中定义的可执行代码,而不是传统的 ASP (也称为经典 ASP) 页或 ASP.NET 页响应这些特定请求。 HTTP 处理程序允许与运行 Internet Information Services (IIS) 的 Web 服务器的低级别请求和响应服务进行交互,它们提供的功能类似于 ISAPI 扩展,但具有更简单的编程模型。
如果将 参数设置为 preserveForm
true
,则目标页将能够使用 PreviousPage 属性访问上一页的视图状态。
出于安全目的,应将 enableViewStateMac
属性设置为 true
。 ASP.NET 不验证当前用户是否有权查看 方法 Transfer 提供的资源。 尽管 ASP.NET 授权和身份验证逻辑在调用原始资源处理程序之前运行,但 ASP.NET 直接调用 方法指示 Transfer 的处理程序,并且不会为新资源重新运行身份验证和授权逻辑。 如果应用程序的安全策略要求客户端具有适当的授权才能访问资源,则应用程序应强制重新授权或提供自定义访问控制机制。
可以使用 方法而不是 Transfer 方法强制重新授权Redirect。 方法 Redirect 执行客户端重定向,浏览器在其中请求新资源。 由于此重定向是进入系统的新请求,因此它受 IIS 和 ASP.NET 安全策略的所有身份验证和授权逻辑的约束。
可以通过在应用程序调用Transfer方法之前合并使用 IsInRole 方法的自定义授权方法来验证用户是否有权查看资源。