Partager via


HttpServerUtility.Transfer Méthode

Définition

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 truesur , 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 truesur , 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.

S’applique à