Condividi tramite


HttpServerUtility.Transfer Metodo

Definizione

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

Overload

Nome Descrizione
Transfer(String)

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

Transfer(String, Boolean)

Termina l'esecuzione della pagina corrente e avvia l'esecuzione di una nuova pagina usando il percorso URL specificato della pagina. Specifica se cancellare le QueryString raccolte e Form .

Transfer(IHttpHandler, Boolean)

Termina l'esecuzione della pagina corrente e avvia l'esecuzione di una nuova richiesta usando un gestore HTTP personalizzato che implementa l'interfaccia IHttpHandler e specifica se cancellare le QueryString raccolte e Form .

Transfer(String)

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

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 nel 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 che i client dispongano dell'autorizzazione appropriata per accedere alla risorsa, l'applicazione deve forzare la riautorizzazione o fornire un meccanismo di controllo di accesso personalizzato.

È possibile forzare la riautorizzazione usando il Redirect metodo anziché il Transfer 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 logiche 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 IsInRole metodo prima che l'applicazione chiami il Transfer 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 specificato della pagina. Specifica se cancellare le QueryString raccolte 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 nel server da eseguire.

preserveForm
Boolean

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

Eccezioni

La richiesta di 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à .

Per motivi 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 che i client dispongano dell'autorizzazione appropriata per accedere alla risorsa, l'applicazione deve forzare la riautorizzazione o fornire un meccanismo di controllo di accesso personalizzato.

È possibile forzare la riautorizzazione usando il Redirect metodo anziché il Transfer 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 logiche 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 IsInRole metodo prima che l'applicazione chiami il Transfer metodo .

Si applica a

Transfer(IHttpHandler, Boolean)

Termina l'esecuzione della pagina corrente e avvia l'esecuzione di una nuova richiesta usando un gestore HTTP personalizzato che implementa l'interfaccia IHttpHandler e specifica se cancellare le QueryString raccolte e 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)

Parametri

handler
IHttpHandler

Gestore HTTP che implementa l'oggetto IHttpHandler a cui trasferire la richiesta corrente.

preserveForm
Boolean

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

Eccezioni

La richiesta di 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 convenzionali (note anche come pagine ASP classiche) o ASP.NET pagine 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à .

Per motivi 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 riautorizzazione o fornire un meccanismo di controllo di accesso personalizzato.

È possibile forzare la riautorizzazione usando il Redirect metodo anziché il Transfer 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 logiche di autenticazione e autorizzazione sia di IIS che di 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 IsInRole metodo prima che l'applicazione chiami il Transfer metodo .

Si applica a