HttpServerUtility.Transfer Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Finaliza la ejecución de la página actual e inicia la ejecución de una nueva página para la solicitud actual.
Sobrecargas
| Nombre | Description |
|---|---|
| Transfer(String) |
Para la solicitud actual, finaliza la ejecución de la página actual e inicia la ejecución de una nueva página mediante la ruta de acceso URL especificada de la página. |
| Transfer(String, Boolean) |
Finaliza la ejecución de la página actual e inicia la ejecución de una página nueva mediante la ruta de acceso url especificada de la página. Especifica si se van a borrar las QueryString colecciones y Form . |
| Transfer(IHttpHandler, Boolean) |
Finaliza la ejecución de la página actual e inicia la ejecución de una nueva solicitud mediante un controlador HTTP personalizado que implementa la IHttpHandler interfaz y especifica si se van a borrar las QueryString colecciones y Form . |
Transfer(String)
Para la solicitud actual, finaliza la ejecución de la página actual e inicia la ejecución de una nueva página mediante la ruta de acceso URL especificada de la página.
public:
void Transfer(System::String ^ path);
public void Transfer(string path);
member this.Transfer : string -> unit
Public Sub Transfer (path As String)
Parámetros
- path
- String
Ruta de acceso url de la nueva página en el servidor que se va a ejecutar.
Comentarios
La página transferida a debe ser otra página de .aspx. Por ejemplo, una transferencia a una página de .asp o .asmx no es válida. El Transfer método conserva las QueryString colecciones y Form .
Transfer llama a End, que produce una ThreadAbortException excepción tras la finalización.
ASP.NET no comprueba que el usuario actual esté autorizado para ver el recurso entregado por el Transfer método . Aunque se ejecuta la lógica de autenticación y autorización de ASP.NET antes de llamar al controlador de recursos original, ASP.NET llama directamente al controlador indicado por el Transfer método y no vuelve a ejecutar la lógica de autenticación y autorización para el nuevo recurso. Si la directiva de seguridad de la aplicación requiere que los clientes tengan la autorización adecuada para acceder al recurso, la aplicación debe forzar la reautorización o proporcionar un mecanismo de control de acceso personalizado.
Puede forzar la reautenticación mediante el Redirect método en lugar del Transfer método . El Redirect método realiza una redirección del lado cliente en la que el explorador solicita el nuevo recurso. Dado que esta redirección es una nueva solicitud que entra en el sistema, está sujeta a toda la lógica de autenticación y autorización de Internet Information Services (IIS) y ASP.NET directiva de seguridad.
Puede comprobar que el usuario tiene permiso para ver el recurso mediante la incorporación de un método de autorización personalizado que usa el IsInRole método antes de que la aplicación llame al Transfer método .
Se aplica a
Transfer(String, Boolean)
Finaliza la ejecución de la página actual e inicia la ejecución de una página nueva mediante la ruta de acceso url especificada de la página. Especifica si se van a borrar las QueryString colecciones y 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)
Parámetros
- path
- String
Ruta de acceso url de la nueva página en el servidor que se va a ejecutar.
- preserveForm
- Boolean
true para conservar las QueryString colecciones y Form ; false para borrar las QueryString colecciones y Form .
Excepciones
La solicitud de página actual es una devolución de llamada.
Ejemplos
En el ejemplo siguiente se ejecuta una nueva página en el mismo directorio que la página actual.
Server.Transfer("Logon.aspx", true);
Server.Transfer("Logon.aspx", true)
Comentarios
La página transferida a debe ser otra página de .aspx. Por ejemplo, una transferencia a una página de .asp o .asmx no es válida.
Transfer llama a End, que produce una ThreadAbortException excepción tras la finalización.
Si establece el preserveForm parámetro trueen , la página de destino podrá acceder al estado de vista de la página anterior mediante la PreviousPage propiedad .
Para fines de seguridad, debe mantener el enableViewStateMac atributo establecido trueen . ASP.NET no comprueba que el usuario actual esté autorizado para ver el recurso entregado por el Transfer método . Aunque se ejecuta la lógica de autenticación y autorización de ASP.NET antes de llamar al controlador de recursos original, ASP.NET llama directamente al controlador indicado por el Transfer método y no vuelve a ejecutar la lógica de autenticación y autorización para el nuevo recurso. Si la directiva de seguridad de la aplicación requiere que los clientes tengan la autorización adecuada para acceder al recurso, la aplicación debe forzar la reautorización o proporcionar un mecanismo de control de acceso personalizado.
Puede forzar la reautenticación mediante el Redirect método en lugar del Transfer método . El Redirect método realiza una redirección del lado cliente en la que el explorador solicita el nuevo recurso. Dado que esta redirección es una nueva solicitud que entra en el sistema, está sujeta a toda la lógica de autenticación y autorización de Internet Information Services (IIS) y ASP.NET directiva de seguridad.
Puede comprobar que el usuario tiene permiso para ver el recurso mediante la incorporación de un método de autorización personalizado que usa el IsInRole método antes de que la aplicación llame al Transfer método .
Se aplica a
Transfer(IHttpHandler, Boolean)
Finaliza la ejecución de la página actual e inicia la ejecución de una nueva solicitud mediante un controlador HTTP personalizado que implementa la IHttpHandler interfaz y especifica si se van a borrar las QueryString colecciones y 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)
Parámetros
- handler
- IHttpHandler
Controlador HTTP al que se implementa para IHttpHandler transferir la solicitud actual.
- preserveForm
- Boolean
true para conservar las QueryString colecciones y Form ; false para borrar las QueryString colecciones y Form .
Excepciones
La solicitud de página actual es una devolución de llamada.
Comentarios
Puede escribir controladores HTTP personalizados para procesar tipos predefinidos específicos de solicitudes HTTP en cualquier lenguaje compatible con Common Language Specification (CLS). El código ejecutable que se define en las clases de controlador HTTP en lugar de las páginas ASP convencionales (también conocidas como ASP clásicas) o ASP.NET páginas responde a estas solicitudes específicas. Los controladores HTTP permiten interactuar con los servicios de solicitud y respuesta de bajo nivel de un servidor web que ejecuta Internet Information Services (IIS) y proporcionan una funcionalidad similar a las extensiones ISAPI, pero con un modelo de programación más sencillo.
Si establece el preserveForm parámetro trueen , la página de destino podrá acceder al estado de vista de la página anterior mediante la PreviousPage propiedad .
Para fines de seguridad, debe mantener el enableViewStateMac atributo establecido trueen . ASP.NET no comprueba que el usuario actual esté autorizado para ver el recurso entregado por el Transfer método . Aunque se ejecuta la lógica de autenticación y autorización ASP.NET antes de llamar al controlador de recursos original, ASP.NET llama directamente al controlador indicado por el Transfer método y no vuelve a ejecutar la lógica de autenticación y autorización para el nuevo recurso. Si la directiva de seguridad de la aplicación requiere que los clientes tengan la autorización adecuada para acceder al recurso, la aplicación debe forzar la reautorización o proporcionar un mecanismo de control de acceso personalizado.
Puede forzar la reautenticación mediante el Redirect método en lugar del Transfer método . El Redirect método realiza una redirección del lado cliente en la que el explorador solicita el nuevo recurso. Dado que esta redirección es una nueva solicitud que entra en el sistema, está sujeta a toda la lógica de autenticación y autorización de IIS y ASP.NET directiva de seguridad.
Puede comprobar que el usuario tiene permiso para ver el recurso mediante la incorporación de un método de autorización personalizado que usa el IsInRole método antes de que la aplicación llame al Transfer método .