HttpServerUtility.Transfer Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Termine l'exécution de la page actuelle et commence l'exécution d'une nouvelle page pour la requête actuelle.
Surcharges
Transfer(String) |
Pour la requête actuelle, termine l’exécution de la page actuelle et commence l’exécution d’une nouvelle page en utilisant le chemin d’accès de l’URL spécifié pour accéder à la page. |
Transfer(String, Boolean) |
Termine l’exécution de la page actuelle et commence celle d’une nouvelle page en utilisant le chemin d’accès de l’URL spécifié pour accéder à la page. Spécifie s'il faut effacer les collections QueryString et Form. |
Transfer(IHttpHandler, Boolean) |
Termine l'exécution de la page actuelle et commence celle d'une nouvelle requête en utilisant un gestionnaire HTTP personnalisé qui implémente l'interface IHttpHandler et spécifie s'il faut ou non effacer les collections QueryString et Form. |
Transfer(String)
Pour la requête actuelle, termine l’exécution de la page actuelle et commence l’exécution d’une nouvelle page en utilisant le chemin d’accès de l’URL spécifié pour accéder à la page.
public:
void Transfer(System::String ^ path);
public void Transfer (string path);
member this.Transfer : string -> unit
Public Sub Transfer (path As String)
Paramètres
- path
- String
Chemin d’accès de l’URL de la nouvelle page sur le serveur à exécuter.
Remarques
La page transférée doit être une autre page .aspx. Par exemple, un transfert vers une page .asp ou .asmx n’est pas valide. La Transfer méthode conserve les collections et Form les QueryString collections.
Transfer appelle End, qui lève une ThreadAbortException exception lors de l’achèvement.
ASP.NET ne vérifie pas que l’utilisateur actuel est autorisé à afficher la ressource fournie par la Transfer méthode. Bien que la logique d’autorisation et d’authentification ASP.NET s’exécute avant l’appel du gestionnaire de ressources d’origine, ASP.NET appelle directement le gestionnaire indiqué par la méthode et ne réexécute pas l’authentification et la Transfer logique d’autorisation pour la nouvelle ressource. Si la stratégie de sécurité de votre application nécessite que les clients disposent d’une autorisation appropriée pour accéder à la ressource, l’application doit forcer la réauthorisation ou fournir un mécanisme de contrôle d’accès personnalisé.
Vous pouvez forcer la réauthorisation à l’aide de la Redirect méthode au lieu de la Transfer méthode. La Redirect méthode effectue une redirection côté client dans laquelle le navigateur demande la nouvelle ressource. Étant donné que cette redirection est une nouvelle demande entrante dans le système, elle est soumise à toutes les logiques d’authentification et d’autorisation des deux Internet Information Services (IIS) et ASP.NET stratégie de sécurité.
Vous pouvez vérifier que l’utilisateur dispose de l’autorisation d’afficher la ressource en intégrant une méthode d’autorisation personnalisée qui utilise la IsInRole méthode avant que l’application appelle la Transfer méthode.
S’applique à
Transfer(String, Boolean)
Termine l’exécution de la page actuelle et commence celle d’une nouvelle page en utilisant le chemin d’accès de l’URL spécifié pour accéder à la page. Spécifie s'il faut effacer les collections QueryString et 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)
Paramètres
- path
- String
Chemin d’accès de l’URL de la nouvelle page sur le serveur à exécuter.
- preserveForm
- Boolean
true
pour conserver les collections QueryString et Form ; false
pour effacer les collections QueryString et Form.
Exceptions
La demande de page active est un rappel.
Exemples
L’exemple suivant exécute une nouvelle page dans le même répertoire que la page active.
Server.Transfer("Logon.aspx", true);
Server.Transfer("Logon.aspx", true)
Remarques
La page transférée doit être une autre page .aspx. Par exemple, un transfert vers une page .asp ou .asmx n’est pas valide.
Transfer appelle End, qui lève une ThreadAbortException exception lors de l’achèvement.
Si vous définissez le preserveForm
paramètre true
sur , la page cible peut accéder à l’état d’affichage de la page précédente à l’aide de la PreviousPage propriété.
À des fins de sécurité, vous devez conserver l’attribut enableViewStateMac
défini sur true
. ASP.NET ne vérifie pas que l’utilisateur actuel est autorisé à afficher la ressource fournie par la Transfer méthode. Bien que la logique d’autorisation et d’authentification ASP.NET s’exécute avant l’appel du gestionnaire de ressources d’origine, ASP.NET appelle directement le gestionnaire indiqué par la méthode et ne réexécute pas l’authentification et la Transfer logique d’autorisation pour la nouvelle ressource. Si la stratégie de sécurité de votre application nécessite que les clients disposent d’une autorisation appropriée pour accéder à la ressource, l’application doit forcer la réauthorisation ou fournir un mécanisme de contrôle d’accès personnalisé.
Vous pouvez forcer la réauthorisation à l’aide de la Redirect méthode au lieu de la Transfer méthode. La Redirect méthode effectue une redirection côté client dans laquelle le navigateur demande la nouvelle ressource. Étant donné que cette redirection est une nouvelle demande entrante dans le système, elle est soumise à toutes les logiques d’authentification et d’autorisation des deux Internet Information Services (IIS) et ASP.NET stratégie de sécurité.
Vous pouvez vérifier que l’utilisateur dispose de l’autorisation d’afficher la ressource en intégrant une méthode d’autorisation personnalisée qui utilise la IsInRole méthode avant que l’application appelle la Transfer méthode.
S’applique à
Transfer(IHttpHandler, Boolean)
Termine l'exécution de la page actuelle et commence celle d'une nouvelle requête en utilisant un gestionnaire HTTP personnalisé qui implémente l'interface IHttpHandler et spécifie s'il faut ou non effacer les collections QueryString et 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)
Paramètres
- handler
- IHttpHandler
Le gestionnaire HTTP qui implémente le IHttpHandler auquel transférer la requête actuelle.
- preserveForm
- Boolean
true
pour conserver les collections QueryString et Form ; false
pour effacer les collections QueryString et Form.
Exceptions
La demande de page active est un rappel.
Remarques
Vous pouvez écrire des gestionnaires HTTP personnalisés pour traiter des types spécifiques et prédéfinis de requêtes HTTP dans n’importe quel langage conforme à la spécification clS (Common Language Specification). Le code exécutable défini dans les classes de gestionnaire HTTP au lieu de pages ASP classiques (également appelées ASP classiques) ou ASP.NET pages répond à ces requêtes spécifiques. Les gestionnaires HTTP permettent d’interagir avec les services de requête et de réponse de bas niveau d’un serveur Web qui exécute Internet Information Services (IIS) et fournissent des fonctionnalités similaires aux extensions ISAPI, mais avec un modèle de programmation plus simple.
Si vous définissez le preserveForm
paramètre true
sur , la page cible peut accéder à l’état d’affichage de la page précédente à l’aide de la PreviousPage propriété.
À des fins de sécurité, vous devez conserver l’attribut enableViewStateMac
défini sur true
. ASP.NET ne vérifie pas que l’utilisateur actuel est autorisé à afficher la ressource fournie par la Transfer méthode. Bien que la logique d’autorisation et d’authentification ASP.NET s’exécute avant que le gestionnaire de ressources d’origine soit appelé, ASP.NET appelle directement le gestionnaire indiqué par la Transfer méthode et ne réexécuter l’authentification et la logique d’autorisation pour la nouvelle ressource. Si la stratégie de sécurité de votre application nécessite que les clients disposent d’une autorisation appropriée pour accéder à la ressource, l’application doit forcer la réauthorisation ou fournir un mécanisme de contrôle d’accès personnalisé.
Vous pouvez forcer la réauthorisation à l’aide de la Redirect méthode au lieu de la Transfer méthode. La Redirect méthode effectue une redirection côté client dans laquelle le navigateur demande la nouvelle ressource. Étant donné que cette redirection est une nouvelle demande entrante dans le système, elle est soumise à toutes les logiques d’authentification et d’autorisation des stratégies de sécurité IIS et ASP.NET.
Vous pouvez vérifier que l’utilisateur dispose de l’autorisation d’afficher la ressource en intégrant une méthode d’autorisation personnalisée qui utilise la IsInRole méthode avant que l’application appelle la Transfer méthode.