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

Transfer(String)

Para a solicitação atual, finaliza 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)

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

Transfer(IHttpHandler, Boolean)

Finaliza 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 interface IHttpHandler e especifica se as coleções QueryString e Form devem ser apagadas.

Transfer(String)

Para a solicitação atual, finaliza 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 de URL da nova página no servidor de execução.

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 o 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 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 personalizado de controle de acesso.

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 é submetido a toda a lógica de autenticação e autorização do IIS (Serviços de Informações da Internet) 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)

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

preserveForm
Boolean

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

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 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 personalizado de controle de acesso.

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 é submetido a toda a lógica de autenticação e autorização do IIS (Serviços de Informações da Internet) 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)

Finaliza 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 interface IHttpHandler e especifica se as coleções QueryString e Form devem ser apagadas.

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 o IHttpHandler para o qual a solicitação atual será transferida.

preserveForm
Boolean

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

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 que é 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 Serviços de Informações da Internet (IIS) 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 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 é submetido a toda a lógica de autenticação e autorização do IIS e da política de segurança ASP.NET.

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