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 a dovrebbe essere un'altra pagina aspx. Un trasferimento a una pagina ASP o asmx, ad esempio, non è valido. Il Transfer metodo consente di mantenere le QueryString Form raccolte e.

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

ASP.NET non verifica che l'utente corrente sia autorizzato a visualizzare la risorsa fornita dal Transfer metodo. Sebbene la logica di autorizzazione e autenticazione ASP.NET venga eseguita prima della chiamata del gestore di risorse originale, ASP.NET chiama direttamente il gestore indicato dal Transfer metodo e non esegue nuovamente la logica di autenticazione e autorizzazione per la nuova risorsa. Se i criteri di sicurezza dell'applicazione richiedono che i client dispongano delle autorizzazioni appropriate per accedere alla risorsa, l'applicazione deve forzare la riautorizzazione o fornire un meccanismo di controllo degli accessi personalizzato.

È possibile forzare la riautorizzazione usando il Redirect metodo anziché il Transfer metodo. Il Redirect metodo esegue un reindirizzamento sul lato client nel quale il browser richiede la nuova risorsa. Poiché questo reindirizzamento è una nuova richiesta che entra nel sistema, è soggetto a tutta la logica di autenticazione e autorizzazione dei criteri di sicurezza Internet Information Services (IIS) e ASP.NET.

È possibile verificare che l'utente disponga delle autorizzazioni 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 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 a dovrebbe essere un'altra pagina aspx. Un trasferimento a una pagina ASP o asmx, ad esempio, non è valido.

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

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

Per motivi di sicurezza, è consigliabile lasciare l' enableViewStateMac attributo impostato su true . ASP.NET non verifica che l'utente corrente sia autorizzato a visualizzare la risorsa fornita dal Transfer metodo. Sebbene la logica di autorizzazione e autenticazione ASP.NET venga eseguita prima della chiamata del gestore di risorse originale, ASP.NET chiama direttamente il gestore indicato dal Transfer metodo e non esegue nuovamente la logica di autenticazione e autorizzazione per la nuova risorsa. Se i criteri di sicurezza dell'applicazione richiedono che i client dispongano delle autorizzazioni appropriate per accedere alla risorsa, l'applicazione deve forzare la riautorizzazione o fornire un meccanismo di controllo degli accessi personalizzato.

È possibile forzare la riautorizzazione usando il Redirect metodo anziché il Transfer metodo. Il Redirect metodo esegue un reindirizzamento sul lato client nel quale il browser richiede la nuova risorsa. Poiché questo reindirizzamento è una nuova richiesta che entra nel sistema, è soggetto a tutta la logica di autenticazione e autorizzazione dei criteri di sicurezza Internet Information Services (IIS) e ASP.NET.

È possibile verificare che l'utente disponga delle autorizzazioni 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 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 specifici tipi predefiniti di richieste HTTP in qualsiasi linguaggio conforme al Common Language Specification (CLS). Il codice eseguibile definito nelle classi del gestore HTTP anziché nelle pagine ASP convenzionali (note anche come ASP classico) o nelle pagine 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 utilizzando la PreviousPage Proprietà.

Per motivi di sicurezza, è consigliabile lasciare l' enableViewStateMac attributo impostato su true . ASP.NET non verifica che l'utente corrente sia autorizzato a visualizzare la risorsa fornita dal Transfer metodo. Sebbene la logica di autorizzazione e autenticazione ASP.NET venga eseguita prima della chiamata del gestore di risorse originale, ASP.NET chiama direttamente il gestore indicato dal Transfer metodo e non esegue nuovamente la logica di autenticazione e autorizzazione per la nuova risorsa. Se i criteri di sicurezza per l'applicazione richiedono che i client dispongano delle autorizzazioni appropriate per accedere alla risorsa, l'applicazione deve forzare la riautorizzazione o fornire un meccanismo di controllo degli accessi personalizzato.

È possibile forzare la riautorizzazione usando il Redirect metodo anziché il Transfer metodo. Il Redirect metodo esegue un reindirizzamento sul lato client nel quale il browser richiede la nuova risorsa. Poiché questo reindirizzamento è una nuova richiesta che entra nel sistema, è soggetto a tutta la logica di autenticazione e autorizzazione dei criteri di sicurezza IIS e ASP.NET.

È possibile verificare che l'utente disponga delle autorizzazioni 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