Compartilhar via


HttpServerUtility.Transfer Método

Definição

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

Sobrecargas

Nome Description
Transfer(String)

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

Transfer(String, Boolean)

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

Transfer(IHttpHandler, Boolean)

Encerra a execução da página atual e inicia a execução de uma nova solicitação usando um manipulador HTTP personalizado que implementa a IHttpHandler interface e especifica se as coleções e Form as QueryString coleções devem ser desmarcadas.

Transfer(String)

Para a solicitação atual, encerra a execução da página atual e inicia a execução de uma nova página usando o caminho de 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 a ser executado.

Comentários

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 coleções e Form as QueryString coleções.

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

ASP.NET não verifica se o usuário atual está autorizado a exibir o recurso entregue pelo Transfer método. Embora a lógica de autorização e autenticação do ASP.NET seja executada antes do manipulador de recursos original ser chamado, ASP.NET chama diretamente o manipulador indicado pelo Transfer método e não executa novamente a lógica de autenticação e autorização para o novo recurso. Se a política de segurança do aplicativo exigir que os clientes tenham autorização apropriada para acessar o recurso, o aplicativo deverá forçar a reautorização ou fornecer um mecanismo de controle de acesso personalizado.

Você pode forçar a reautorização usando o Redirect método em vez do Transfer método. O Redirect método executa um redirecionamento do lado do cliente no qual o navegador solicita o novo recurso. Como esse redirecionamento é uma nova solicitação que entra no sistema, ele está sujeito a toda a lógica de autenticação e autorização dos Serviços de Informações da Internet (IIS) e ASP.NET política de segurança.

Você pode verificar se o usuário tem permissão para exibir o recurso incorporando um método de autorização personalizado que usa o IsInRole método antes que o aplicativo chame o Transfer método.

Aplica-se a

Transfer(String, Boolean)

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

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 a ser executado.

preserveForm
Boolean

truepara preservar as QueryString coleções e Form as coleções; false para limpar as coleções e Form as QueryString coleções.

Exceções

A solicitação de página atual é um retorno de chamada.

Exemplos

O exemplo a seguir executa uma nova página no mesmo diretório que a página atual.

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

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

Comentários

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 chamadas End, que gera uma ThreadAbortException exceção após a conclusão.

Se você definir o preserveForm parâmetro como true, a página de destino poderá acessar o estado de exibição da página anterior usando a PreviousPage propriedade.

Para fins de segurança, você deve manter o enableViewStateMac atributo definido como true. ASP.NET não verifica se o usuário atual está autorizado a exibir o recurso entregue pelo Transfer método. Embora a lógica de autorização e autenticação do ASP.NET seja executada antes do manipulador de recursos original ser chamado, ASP.NET chama diretamente o manipulador indicado pelo Transfer método e não executa novamente a lógica de autenticação e autorização para o novo recurso. Se a política de segurança do aplicativo exigir que os clientes tenham autorização apropriada para acessar o recurso, o aplicativo deverá forçar a reautorização ou fornecer um mecanismo de controle de acesso personalizado.

Você pode forçar a reautorização usando o Redirect método em vez do Transfer método. O Redirect método executa um redirecionamento do lado do cliente no qual o navegador solicita o novo recurso. Como esse redirecionamento é uma nova solicitação que entra no sistema, ele está sujeito a toda a lógica de autenticação e autorização dos Serviços de Informações da Internet (IIS) e ASP.NET política de segurança.

Você pode verificar se o usuário tem permissão para exibir o recurso incorporando um método de autorização personalizado que usa o IsInRole método antes que o aplicativo chame o Transfer método.

Aplica-se a

Transfer(IHttpHandler, Boolean)

Encerra a execução da página atual e inicia a execução de uma nova solicitação usando um manipulador HTTP personalizado que implementa a IHttpHandler interface e especifica se as coleções e Form as QueryString coleções devem ser desmarcadas.

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 manipulador HTTP que implementa a IHttpHandler solicitação para a qual transferir a solicitação atual.

preserveForm
Boolean

truepara preservar as QueryString coleções e Form as coleções; false para limpar as coleções e Form as QueryString coleções.

Exceções

A solicitação de página atual é um retorno de chamada.

Comentários

Você pode escrever manipuladores HTTP personalizados para processar tipos específicos e predefinidos de solicitações HTTP em qualquer idioma que esteja em conformidade com a CLS (Common Language Specification). Código executável definido nas classes de manipulador HTTP em vez de páginas ASP convencionais (também conhecidas como ASP clássicas) ou páginas ASP.NET responde a essas solicitações específicas. Os manipuladores HTTP permitem interagir com os serviços de solicitação e resposta de baixo nível de um servidor Web que está executando o IIS (Serviços de Informações da Internet) e fornecem funcionalidade semelhante às extensões ISAPI, mas com um modelo de programação mais simples.

Se você definir o preserveForm parâmetro como true, a página de destino poderá acessar o estado de exibição da página anterior usando a PreviousPage propriedade.

Para fins de segurança, você deve manter o enableViewStateMac atributo definido como true. ASP.NET não verifica se o usuário atual está autorizado a exibir o recurso entregue pelo Transfer método. Embora a lógica de autorização e autenticação do ASP.NET seja executada antes do manipulador de recursos original ser chamado, ASP.NET chama diretamente o manipulador indicado pelo Transfer método e não executa novamente a lógica de autenticação e autorização para o novo recurso. Se a política de segurança do aplicativo exigir que os clientes tenham autorização apropriada para acessar o recurso, o aplicativo deverá forçar a reautorização ou fornecer um mecanismo de controle de acesso personalizado.

Você pode forçar a reautorização usando o Redirect método em vez do Transfer método. O Redirect método executa um redirecionamento do lado do cliente no qual o navegador solicita o novo recurso. Como esse redirecionamento é uma nova solicitação que entra no sistema, ele está sujeito a toda a lógica de autenticação e autorização do IIS e ASP.NET política de segurança.

Você pode verificar se o usuário tem permissão para exibir o recurso incorporando um método de autorização personalizado que usa o IsInRole método antes que o aplicativo chame o Transfer método.

Aplica-se a