Condividi tramite


HttpServerUtility.Transfer Metodo

Definizione

Termina l'esecuzione della pagina corrente e inizia l'esecuzione di una nuova pagina per la richiesta corrente.

Overload

Transfer(String)

Per la richiesta corrente, termina l'esecuzione della pagina corrente e avvia l'esecuzione di una nuova pagina usando il percorso URL di pagina specificato.

Transfer(String, Boolean)

Termina l'esecuzione della pagina corrente e avvia l'esecuzione di una nuova pagina usando il percorso URL di pagina specificato. Consente di specificare se eliminare gli insiemi QueryString e Form.

Transfer(IHttpHandler, Boolean)

Termina l'esecuzione della pagina corrente e inizia l'esecuzione di una nuova richiesta tramite un gestore HTTP personalizzato che implementa l'interfaccia IHttpHandler e specifica se gli insiemi QueryString e Form devono essere cancellati.

Transfer(String)

Per la richiesta corrente, termina l'esecuzione della pagina corrente e avvia l'esecuzione di una nuova pagina usando il percorso URL di pagina specificato.

public:
 void Transfer(System::String ^ path);
public void Transfer (string path);
member this.Transfer : string -> unit
Public Sub Transfer (path As String)

Parametri

path
String

Percorso URL della nuova pagina sul server da eseguire.

Commenti

La pagina trasferita in deve essere un'altra pagina aspx. Ad esempio, un trasferimento a una pagina asp o asmx non è valido. Il Transfer metodo mantiene le QueryString raccolte e Form .

Transfer chiama End, che genera un'eccezione ThreadAbortException al completamento.

ASP.NET non verifica che l'utente corrente sia autorizzato a visualizzare la risorsa recapitata dal Transfer metodo . Anche se la logica di autorizzazione e autenticazione ASP.NET viene eseguita prima che venga chiamato il gestore di risorse originale, ASP.NET chiama direttamente il gestore indicato dal Transfer metodo e non esegue nuovamente l'autenticazione e la logica di autorizzazione per la nuova risorsa. Se i criteri di sicurezza dell'applicazione richiedono ai client l'autorizzazione appropriata per accedere alla risorsa, l'applicazione deve forzare la riauthorizzazione o fornire un meccanismo di controllo degli accessi personalizzato.

È possibile forzare la riauthorizzazione usando il metodo anziché il RedirectTransfer metodo . Il Redirect metodo esegue un reindirizzamento lato client in cui il browser richiede la nuova risorsa. Poiché questo reindirizzamento è una nuova richiesta che immette il sistema, viene sottoposta a tutte le logica di autenticazione e autorizzazione di Internet Information Services (IIS) e ASP.NET criteri di sicurezza.

È possibile verificare che l'utente disponga dell'autorizzazione per visualizzare la risorsa incorporando un metodo di autorizzazione personalizzato che usa il metodo prima che l'applicazione chiami il IsInRoleTransfer metodo.

Si applica a

Transfer(String, Boolean)

Termina l'esecuzione della pagina corrente e avvia l'esecuzione di una nuova pagina usando il percorso URL di pagina specificato. Consente di specificare se eliminare gli insiemi 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)

Parametri

path
String

Percorso URL della nuova pagina sul server da eseguire.

preserveForm
Boolean

true per mantenere le raccolte QueryString e Form. false per cancellare le raccolte QueryString e Form.

Eccezioni

La richiesta della pagina corrente è un callback.

Esempio

Nell'esempio seguente viene eseguita una nuova pagina nella stessa directory della pagina corrente.

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

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

Commenti

La pagina trasferita in deve essere un'altra pagina aspx. Ad esempio, un trasferimento a una pagina asp o asmx non è valido.

Transfer chiama End, che genera un'eccezione ThreadAbortException al completamento.

Se si imposta il preserveForm parametro su true, la pagina di destinazione sarà in grado di accedere allo stato di visualizzazione della pagina precedente usando la PreviousPage proprietà .

A scopo di sicurezza, è consigliabile mantenere l'attributo enableViewStateMac impostato su true. ASP.NET non verifica che l'utente corrente sia autorizzato a visualizzare la risorsa recapitata dal Transfer metodo . Anche se la logica di autorizzazione e autenticazione ASP.NET viene eseguita prima che venga chiamato il gestore di risorse originale, ASP.NET chiama direttamente il gestore indicato dal Transfer metodo e non esegue nuovamente l'autenticazione e la logica di autorizzazione per la nuova risorsa. Se i criteri di sicurezza dell'applicazione richiedono ai client l'autorizzazione appropriata per accedere alla risorsa, l'applicazione deve forzare la riauthorizzazione o fornire un meccanismo di controllo degli accessi personalizzato.

È possibile forzare la riauthorizzazione usando il metodo anziché il RedirectTransfer metodo . Il Redirect metodo esegue un reindirizzamento lato client in cui il browser richiede la nuova risorsa. Poiché questo reindirizzamento è una nuova richiesta che immette il sistema, viene sottoposta a tutte le logica di autenticazione e autorizzazione di Internet Information Services (IIS) e ASP.NET criteri di sicurezza.

È possibile verificare che l'utente disponga dell'autorizzazione per visualizzare la risorsa incorporando un metodo di autorizzazione personalizzato che usa il metodo prima che l'applicazione chiami il IsInRoleTransfer metodo.

Si applica a

Transfer(IHttpHandler, Boolean)

Termina l'esecuzione della pagina corrente e inizia l'esecuzione di una nuova richiesta tramite un gestore HTTP personalizzato che implementa l'interfaccia IHttpHandler e specifica se gli insiemi QueryString e Form devono essere cancellati.

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)

Parametri

handler
IHttpHandler

Gestore HTTP che implementa l'interfaccia IHttpHandler alla quale trasferire la richiesta corrente.

preserveForm
Boolean

true per mantenere le raccolte QueryString e Form. false per cancellare le raccolte QueryString e Form.

Eccezioni

La richiesta della pagina corrente è un callback.

Commenti

È possibile scrivere gestori HTTP personalizzati per elaborare tipi specifici e predefiniti di richieste HTTP in qualsiasi linguaggio conforme a Common Language Specification (CLS). Il codice eseguibile definito nelle classi del gestore HTTP anziché le pagine ASP classiche (note anche come pagine ASP classiche) o ASP.NET risponde a queste richieste specifiche. I gestori HTTP consentono di interagire con i servizi di richiesta e risposta di basso livello di un server Web che esegue Internet Information Services (IIS) e forniscono funzionalità simili alle estensioni ISAPI, ma con un modello di programmazione più semplice.

Se si imposta il preserveForm parametro su true, la pagina di destinazione sarà in grado di accedere allo stato di visualizzazione della pagina precedente usando la PreviousPage proprietà .

A scopo di sicurezza, è consigliabile mantenere l'attributo enableViewStateMac impostato su true. ASP.NET non verifica che l'utente corrente sia autorizzato a visualizzare la risorsa recapitata dal Transfer metodo . Anche se la logica di autorizzazione e autenticazione ASP.NET viene eseguita prima che venga chiamato il gestore di risorse originale, ASP.NET chiama direttamente il gestore indicato dal Transfer metodo e non esegue nuovamente l'autenticazione e la logica di autorizzazione per la nuova risorsa. Se i criteri di sicurezza per l'applicazione richiedono che i client dispongano dell'autorizzazione appropriata per accedere alla risorsa, l'applicazione deve forzare la riauthorizzazione o fornire un meccanismo di controllo degli accessi personalizzato.

È possibile forzare la riauthorizzazione usando il metodo anziché il RedirectTransfer metodo . Il Redirect metodo esegue un reindirizzamento lato client in cui il browser richiede la nuova risorsa. Poiché questo reindirizzamento è una nuova richiesta che immette il sistema, viene sottoposta a tutte le logica di autenticazione e autorizzazione sia dei criteri di sicurezza IIS che di ASP.NET.

È possibile verificare che l'utente disponga dell'autorizzazione per visualizzare la risorsa incorporando un metodo di autorizzazione personalizzato che usa il metodo prima che l'applicazione chiami il IsInRoleTransfer metodo.

Si applica a