Partager via


HttpServerUtility.Transfer Méthode

Définition

Met fin à l’exécution de la page active et démarre l’exécution d’une nouvelle page pour la requête actuelle.

Surcharges

Nom Description
Transfer(String)

Pour la requête actuelle, arrête l’exécution de la page active et démarre l’exécution d’une nouvelle page à l’aide du chemin d’URL spécifié de la page.

Transfer(String, Boolean)

Met fin à l’exécution de la page active et démarre l’exécution d’une nouvelle page à l’aide du chemin d’URL spécifié de la page. Spécifie s’il faut effacer les collections et Form les QueryString collections.

Transfer(IHttpHandler, Boolean)

Met fin à l’exécution de la page active et démarre l’exécution d’une nouvelle requête à l’aide d’un gestionnaire HTTP personnalisé qui implémente l’interface IHttpHandler et spécifie s’il faut effacer les collections et Form les QueryString supprimer.

Transfer(String)

Pour la requête actuelle, arrête l’exécution de la page active et démarre l’exécution d’une nouvelle page à l’aide du chemin d’URL spécifié de 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’URL de la nouvelle page sur le serveur à exécuter.

Remarques

La page à transférer 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 à la fin.

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 Transfer et la logique d’autorisation pour la nouvelle ressource. Si la stratégie de sécurité de votre application exige 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 requête entrant dans le système, elle est soumise à toutes les logiques d’authentification et d’autorisation des services Internet Information Services (IIS) et ASP.NET stratégie de sécurité.

Vous pouvez vérifier que l’utilisateur a l’autorisation d’afficher la ressource en incorporant 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)

Met fin à l’exécution de la page active et démarre l’exécution d’une nouvelle page à l’aide du chemin d’URL spécifié de la page. Spécifie s’il faut effacer les collections et Form les QueryString collections.

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’URL de la nouvelle page sur le serveur à exécuter.

preserveForm
Boolean

truepour conserver les QueryString collections ; Formfalse pour effacer les collections et Form les QueryString collections.

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érer 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 à la fin.

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 Transfer et la logique d’autorisation pour la nouvelle ressource. Si la stratégie de sécurité de votre application exige 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 requête entrant dans le système, elle est soumise à toutes les logiques d’authentification et d’autorisation des services Internet Information Services (IIS) et ASP.NET stratégie de sécurité.

Vous pouvez vérifier que l’utilisateur a l’autorisation d’afficher la ressource en incorporant 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)

Met fin à l’exécution de la page active et démarre l’exécution d’une nouvelle requête à l’aide d’un gestionnaire HTTP personnalisé qui implémente l’interface IHttpHandler et spécifie s’il faut effacer les collections et Form les QueryString supprimer.

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

Gestionnaire HTTP vers lequel implémente IHttpHandler la requête actuelle.

preserveForm
Boolean

truepour conserver les QueryString collections ; Formfalse pour effacer les collections et Form les QueryString collections.

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 conventionnelles (é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 exécutant Internet Information Services (IIS), et ils 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 l’appel du gestionnaire de ressources d’origine, ASP.NET appelle directement le gestionnaire indiqué par la Transfer méthode et ne réexécute pas l’authentification et la logique d’autorisation pour la nouvelle ressource. Si la stratégie de sécurité de votre application exige 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 requête entrant 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 a l’autorisation d’afficher la ressource en incorporant une méthode d’autorisation personnalisée qui utilise la IsInRole méthode avant que l’application appelle la Transfer méthode.

S’applique à