This documentation is archived and is not being maintained.

HttpServerUtility.TransferRequest Method (String, Boolean, String, NameValueCollection)

Performs an asynchronous execution of the specified URL using the specified HTTP method and headers.

Namespace: System.Web
Assembly: System.Web (in system.web.dll)

public void TransferRequest (
	string path,
	bool preserveForm,
	string method,
	NameValueCollection headers
public void TransferRequest (
	String path, 
	boolean preserveForm, 
	String method, 
	NameValueCollection headers
public function TransferRequest (
	path : String, 
	preserveForm : boolean, 
	method : String, 
	headers : NameValueCollection
Not applicable.



The URL path of the new page on the server to execute.


true to preserve the QueryString and Form collections; false to clear the QueryString and Form collections.


The HTTP method to use in the execution of the new request.


A NameValueCollection of request headers for the new request.

Exception typeCondition


The request requires IIS 7.0 running in integrated mode.


The server is not available to handle the request.


The path parameter is a null reference (Nothing in Visual Basic).

This method is used when running with the integrated pipeline mode in IIS 7.0 to allow request processing to be transferred from one resource type to another while executing the target request with the correct request context. For example, you can use the TransferRequest method to transfer a request for an ASPX page to a request for an XML page.

The TransferRequest method performs an asynchronous child execution of the specified URL with the following conditions:

  • If the path parameter specifies a query string, it will be used as the new query string. If no query string is included, the query string of the request will be re-used.

  • If the method parameter is specified, it will be used. If it is a null reference (Nothing in Visual Basic), the HTTP method of the original request will be used.

  • If the preserveForm parameter is true, the current entity body of the request will be available to the target request. This allows form posts and uploads to be transferred.

  • If the user identity is currently set on the original request, the identity will be transferred to the new request. This allows authenticated requests to re-use the result of the authentication for the new request. If you do not want the user to be transferred, set the user to a null reference (Nothing in Visual Basic) on the original request before transferring.

  • If the headers parameter is specified, the new request will execute with the specified headers. This can be used to modify the request headers and cookies for the new request, or add a special header that specifies where the original request was received.

Windows 98, Windows Server 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0