Cómo utilizar el método Server.Transfer

Seleccione idioma Seleccione idioma
Id. de artículo: 219294 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Resumen

Una de las nuevas características página Active Server (ASP) introducidas con Internet Information Services (IIS) versión 5.0 es un método de transferencia para el objeto de servidor integrado de ASP.

Este nuevo método es una alternativa a utilizar el método Response.Redirect para transferir a otra página y permite a la transferencia de los objetos de error y ASP integrado a una segunda página. Además, la transferencia tiene lugar en el servidor en lugar de forzar el explorador para redirigir a una nueva página.

Más información

Cuando se llama al método Server.Transfer, se termina la ejecución de la primera página y comienza la ejecución de la segunda página. Si ha iniciado la primera página escribir en el búfer de respuesta, la segunda página anexa el búfer en lugar de reemplazarla. Si búfer está activado, se pueden modificar los encabezados HTTP en el archivo ASP que se transfiere a. Si el almacenamiento en búfer está desactivado, los encabezados HTTP no son modificables por el archivo ASP que se transfiere, a menos que ningún contenido se ha enviado por ASP todavía. Además, se pueden llamar varias transferencias en sucesión, lo encadenar las páginas.

Los únicos datos transferidos a una página ASP segunda son el ASP integrado - en objetos y los valores de objeto de error ASP de la primera solicitud. Las variables declaradas por la primera página ASP no están disponibles en la segunda página ASP.

Cuando se transfiere a una página en otra aplicación, los objetos Application y Session contienen información de la aplicación original. En consecuencia, la página ASP que se transfiere a se considera parte de la aplicación de origen.

Ejemplo

Las páginas de ejemplo siguientes ilustran cómo se puede usar el método Server.Transfer. En este ejemplo, la página de inicio contiene dos formularios, uno mediante el método HTTP POST y la otra mediante el método HTTP GET. Ambas páginas utilicen la misma página de segunda que detecta el método HTTP y se transfiere a una tercera página diferente para cada método que utiliza. Porque se utiliza el método de transferencia, todavía se rellena el objeto de solicitud y se muestran los resultados correctos de la primera página en la tercera página respectiva.
  1. Copie el siguiente código ASP y guárdelo como "page1.asp" (sin las comillas):
    <html>
    <body>
    <h3>Step 1 - Form Page</h3>
    <table border="1">
       <tr>
          <th>POST</th>
          <td>
             <form action="page2.asp" method="POST">
             <input type="text" name="Name">
             <input type="submit" value="Submit">
             </form>
          </td>
       <tr>
       </tr>
          <th>GET</th>
          <td>
             <form action="page2.asp" method="GET">
             <input type="text" name="Name">
             <input type="submit" value="Submit">
             </form>
          </td>
       </tr>
    </table>
    </body>
    </html>
    						
  2. Guarde el código siguiente como "page2.asp" (sin las comillas):
    <% @LANGUAGE="VBSCRIPT" %>
    <html>
    <body>
    <h3>Step 2 - Transfer Page</h3>
    <%
       Select Case UCase(Request.ServerVariables("REQUEST_METHOD"))
          Case "POST"
             Server.Transfer "page3a.asp"
          Case "GET"
             Server.Transfer "page3b.asp"
          Case Else
             Response.Write "An unknown HTTP verb was used."
       End Select
    %>
    </body>
    </html>
    						
  3. Guarde el código siguiente como "page3a.asp" (sin las comillas):
    <% @LANGUAGE="VBSCRIPT" %>
    <h3>Step 3a - POST Results</h3>
    <p>Hello <% = Request.Form("Name") %></p>
    </body>
    </html>
    						
  4. Guarde el código siguiente como "page3b.asp" (sin las comillas):
    <% @LANGUAGE="VBSCRIPT" %>
    <h3>Step 3b - GET Results</h3>
    <p>Hello <% = Request.QueryString("Name") %></p>
    </body>
    </html>
    						
Nota: Las dos últimos páginas no son páginas HTML completas. Esto es porque ambas páginas se anexa al búfer de respuesta que se inició en la segunda página.

Para probar este ejemplo, guardar todas las páginas en una carpeta Web con "Script" acceso habilitado y busque "page1.asp."

Propiedades

Id. de artículo: 219294 - Última revisión: martes, 21 de noviembre de 2006 - Versión: 2.1
La información de este artículo se refiere a:
  • Microsoft Internet Information Services 5.0
Palabras clave: 
kbmt kbcodesnippet kbinfo kbscript KB219294 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 219294
Renuncia a responsabilidad de los contenidos de la KB sobre productos a los que ya no se ofrece asistencia alguna
El presente artículo se escribió para productos para los que Microsoft ya no ofrece soporte técnico. Por tanto, el presente artículo se ofrece "tal cual" y no será actualizado.

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com