Como usar o método Server.Transfer

Traduções deste artigo Traduções deste artigo
ID do artigo: 219294 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Neste artigo

Sumário

Um dos novos recursos do Active Server Page (ASP) introduzidos com (IIS) versão 5.0 é um método de transferência para o objeto ASP interno do servidor.

Esse novo método é uma alternativa ao uso o método Response.Redirect para transferir para outra página e permite a transferência do ASP interno e objetos Error para uma segunda página. Além disso, a transferência ocorre no servidor em vez de forçar o navegador para redirecionar para uma nova página.

Mais Informações

Quando o método Server.Transfer é chamado, a execução da primeira página é encerrada e começa a execução da segunda página. Se a primeira página iniciou a gravar o buffer de resposta, a segunda página acrescentará o buffer em vez de substituí-la. Se o buffer está em, cabeçalhos HTTP podem ser modificados pelo arquivo ASP que ele é transferido para. Se o armazenamento em buffer estiver desativado, os cabeçalhos HTTP não são pode ser modificados pelo arquivo ASP que ele será transferido, a menos que nenhum conteúdo foi enviado pelo ASP ainda. Além disso, as transferências de vários podem ser chamadas em sucessão, assim, o encadeamento de páginas juntos.

Somente os dados transferidos para uma página ASP segunda são o ASP criado - em objetos e os valores de objeto de erro ASP da primeira solicitação. Qualquer variáveis declaradas pela primeira página ASP não estão disponíveis na segunda página ASP.

Quando você transfere para uma página em outro aplicativo, os objetos Application e sessão conterá informações do aplicativo de origem. Da mesma forma, a página ASP que ele é transferido para é tratada como parte do aplicativo de origem.

Exemplo

Páginas de exemplo a seguir ilustram como o método Server.Transfer pode ser usado. Neste exemplo, a página inicial contém dois formulários, um que usa o método HTTP POST e o outro usando o método HTTP GET. Ambas as páginas usam a segunda página mesma que detecta o método HTTP e os transfere para uma terceira página diferente para cada método usado. Porque o método de transferência está sendo usado, o objeto de solicitação ainda é preenchido e os resultados corretos da primeira página são exibidos na terceira página respectiva.
  1. Copie o seguinte código ASP e salve-o como "page1.asp" (sem as aspas):
    <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. Salvar o código a seguir como "page2.asp" (sem as aspas):
    <% @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. Salvar o código a seguir como "page3a.asp" (sem as aspas):
    <% @LANGUAGE="VBSCRIPT" %>
    <h3>Step 3a - POST Results</h3>
    <p>Hello <% = Request.Form("Name") %></p>
    </body>
    </html>
    						
  4. Salvar o código a seguir como "page3b.asp" (sem as aspas):
    <% @LANGUAGE="VBSCRIPT" %>
    <h3>Step 3b - GET Results</h3>
    <p>Hello <% = Request.QueryString("Name") %></p>
    </body>
    </html>
    						
Observação: As duas últimas páginas não são páginas HTML completas. Isso ocorre porque o buffer de resposta que foi iniciado na segunda página acrescentando ambas as páginas.

Para testar este exemplo, salvar todas as páginas em uma pasta da Web com "Script" acesso ativado e procure "page1.asp."

Propriedades

ID do artigo: 219294 - Última revisão: terça-feira, 21 de novembro de 2006 - Revisão: 2.1
A informação contida neste artigo aplica-se a:
  • Microsoft Internet Information Services 5.0
Palavras-chave: 
kbmt kbcodesnippet kbinfo kbscript KB219294 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 219294
Aviso de Isenção de Responsabilidade sobre Conteúdo do KB Aposentado
Este artigo trata de produtos para os quais a Microsoft não mais oferece suporte. Por esta razão, este artigo é oferecido "como está" e não será mais atualizado.

Submeter comentários

 

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