En estos dias recordé estas dos opciones que .Net nos ofrece en cuanto a un website se refiere y pues me dí cuenta que no las tenía claras. Luego de investigar un poco creo que ya toca un siguiente post.
Generalizando ambas realizan un redireccionamiento, sin embargo existen varias diferencias las cuales nos aclaran que cada una de las “opciones de redireccionamiento” tienen objetivos diferentes.
Response.Redirect
Basicamente envia al navegador una respuesta con headers de redireccionamiento a la nueva ubicación, la cual puede ser otra página en el mismo sitio, otro sitio en el mismo servidor u otro sitio externo.
Ejemplos:
Response.Redirect(“OtherPage.aspx”); //Para otra página en el mismo servidor.
Response.Redirect(“http://www.google.com/”); // Para otro sitio, no necesariamente en el mismo servidor
Ojo, con un Response.Redirect estamos haciendo notorio al usuario que se le está cambiando de ubicación y por ende ve la nueva dirección en el navegador, en resúmen, el usuario realiza un nuevo Request.
Server.Transfer
La similitud con Response.Redirect es que también envía al usuario hacia otra página, sin embargo, existen varias características que enumero a continuación:
- Se conservan los recursos del servidor ya que solamente se hace un “focus”
- No se realiza ningún nuevo http request.
- Se mantiene el mismo URL en el browser del usuario.
- Tiene opción a mantener las colecciones del Formulario y QueryString.
Server.Transfer solamente funciona entre sitios corriendo en el mismo server
Ejemplo de uso:
Server.Transfer(“otherPage.aspx”);
Server.Transfer(“otherPage.aspx”,true); // si queremos mantener las colecciones QueryString y Form
Para mas detalles pueden avocarse al MSDN
Espero les sea útil este post








