HttpServerUtility.Transfer Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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.