Você está offline; aguardando reconexão
Entrar

Como usar o método Server.Transfer

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.

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.
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."
IIS

Aviso: Este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 219294 - Última Revisão: 11/21/2006 05:27:07 - Revisão: 2.1

  • Microsoft Internet Information Services 5.0
  • kbmt kbcodesnippet kbinfo kbscript KB219294 KbMtpt
Comentários