HttpServerUtility.Transfer Método

Definição

Termina a execução da página atual e inicia a execução de uma nova página para o pedido atual.

Sobrecargas

Name Description
Transfer(String)

Para o pedido atual, termina a execução da página atual e inicia a execução de uma nova página usando o caminho URL especificado da página.

Transfer(String, Boolean)

Termina a execução da página atual e inicia a execução de uma nova página usando o caminho URL especificado da página. Especifica se deve limpar as QueryString coleções e.Form

Transfer(IHttpHandler, Boolean)

Termina a execução da página atual e inicia a execução de um novo pedido usando um handler HTTP personalizado que implementa a IHttpHandler interface e especifica se deve limpar as QueryString coleções and Form .

Transfer(String)

Para o pedido atual, termina a execução da página atual e inicia a execução de uma nova página usando o caminho URL especificado da 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

O caminho da URL da nova página no servidor para executar.

Observações

A página transferida deve ser outra página .aspx. Por exemplo, uma transferência para uma página .asp ou .asmx não é válida. O Transfer método preserva as QueryString coleções Form .

Transfer chama End, que lança uma ThreadAbortException exceção após a conclusão.

ASP.NET não verifica se o utilizador atual está autorizado a visualizar o recurso fornecido pelo método Transfer. Embora a lógica de autorização e autenticação de ASP.NET seja executada antes de o handler de recursos original ser chamado, ASP.NET chama diretamente o handler indicado pelo método Transfer e não reexecuta a lógica de autenticação e autorização para o novo recurso. Se a política de segurança da sua aplicação exigir que os clientes tenham autorização adequada para aceder ao recurso, a aplicação deve forçar a reautorização ou fornecer um mecanismo personalizado de controlo de acesso.

Pode forçar a reautorização usando o Redirect método em vez do método Transfer . O Redirect método realiza um redirecionamento do lado do cliente em que o navegador solicita o novo recurso. Como este redirecionamento é um novo pedido que entra no sistema, está sujeito a toda a lógica de autenticação e autorização tanto da política de segurança do Serviços de Informação Internet (IIS) como da ASP.NET.

Pode verificar se o utilizador tem permissão para visualizar o recurso incorporando um método de autorização personalizado que utiliza o IsInRole método antes de a aplicação chamar o Transfer método.

Aplica-se a

Transfer(String, Boolean)

Termina a execução da página atual e inicia a execução de uma nova página usando o caminho URL especificado da página. Especifica se deve limpar as QueryString coleções e.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

O caminho da URL da nova página no servidor para executar.

preserveForm
Boolean

para preservar as coleções e &; para limpar as coleções e colecções.

Exceções

O pedido de página atual é um callback.

Exemplos

O exemplo seguinte executa uma nova página no mesmo diretório da página atual.

Server.Transfer("Logon.aspx", true);

Server.Transfer("Logon.aspx", true)

Observações

A página transferida deve ser outra página .aspx. Por exemplo, uma transferência para uma página .asp ou .asmx não é válida.

Transfer chama End, que lança uma ThreadAbortException exceção após a conclusão.

Se definir o preserveForm parâmetro para true, a página de destino poderá aceder ao estado de visualização da página anterior usando a PreviousPage propriedade.

Por razões de segurança, deve manter o enableViewStateMac atributo definido como true. ASP.NET não verifica se o utilizador atual está autorizado a visualizar o recurso fornecido pelo método Transfer. Embora a lógica de autorização e autenticação de ASP.NET seja executada antes de o handler de recursos original ser chamado, ASP.NET chama diretamente o handler indicado pelo método Transfer e não reexecuta a lógica de autenticação e autorização para o novo recurso. Se a política de segurança da sua aplicação exigir que os clientes tenham autorização adequada para aceder ao recurso, a aplicação deve forçar a reautorização ou fornecer um mecanismo personalizado de controlo de acesso.

Pode forçar a reautorização usando o Redirect método em vez do método Transfer . O Redirect método realiza um redirecionamento do lado do cliente em que o navegador solicita o novo recurso. Como este redirecionamento é um novo pedido que entra no sistema, está sujeito a toda a lógica de autenticação e autorização tanto da política de segurança do Serviços de Informação Internet (IIS) como da ASP.NET.

Pode verificar se o utilizador tem permissão para visualizar o recurso incorporando um método de autorização personalizado que utiliza o IsInRole método antes de a aplicação chamar o Transfer método.

Aplica-se a

Transfer(IHttpHandler, Boolean)

Termina a execução da página atual e inicia a execução de um novo pedido usando um handler HTTP personalizado que implementa a IHttpHandler interface e especifica se deve limpar as QueryString coleções and 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

O handler HTTP que implementa o IHttpHandler para transferir o pedido atual para.

preserveForm
Boolean

para preservar as coleções e &; para limpar as coleções e colecções.

Exceções

O pedido de página atual é um callback.

Observações

Pode escrever manipuladores HTTP personalizados para processar tipos específicos e pré-definidos de pedidos HTTP em qualquer linguagem que esteja em conformidade com a Especificação de Linguagem Comum (CLS). Código executável definido nas classes de handler HTTP em vez de páginas ASP convencionais (também conhecidas como ASP clássico) ou páginas ASP.NET responde a estes pedidos específicos. Os manipuladores HTTP permitem interagir com os serviços de pedido e resposta de baixo nível de um servidor Web que executa o Serviços de Informação Internet (IIS), e fornecem funcionalidades semelhantes às extensões ISAPI, mas com um modelo de programação mais simples.

Se definir o preserveForm parâmetro para true, a página de destino poderá aceder ao estado de visualização da página anterior usando a PreviousPage propriedade.

Por razões de segurança, deve manter o enableViewStateMac atributo definido como true. ASP.NET não verifica se o utilizador atual está autorizado a visualizar o recurso fornecido pelo método Transfer. Embora a lógica de autorização e autenticação de ASP.NET seja executada antes de o manipulador de recursos original ser chamado, ASP.NET chama diretamente o handler indicado pelo método Transfer, e não reexecuta a lógica de autenticação e autorização para o novo recurso. Se a política de segurança da sua aplicação exigir que os clientes tenham autorização adequada para aceder ao recurso, a aplicação deve forçar a reautorização ou fornecer um mecanismo personalizado de controlo de acesso.

Pode forçar a reautorização usando o Redirect método em vez do método Transfer . O Redirect método realiza um redirecionamento do lado do cliente em que o navegador solicita o novo recurso. Como este redirecionamento é um novo pedido que entra no sistema, está sujeito a toda a lógica de autenticação e autorização tanto da política de segurança do IIS como do ASP.NET.

Pode verificar se o utilizador tem permissão para visualizar o recurso incorporando um método de autorização personalizado que utiliza o IsInRole método antes de a aplicação chamar o Transfer método.

Aplica-se a