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.