HttpServerUtility.Transfer Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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
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
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.