66 votes

Qu'est-ce qu'un HttpHandler dans ASP.NET?

Qu'est-ce qu'un HttpHandler dans ASP.NET? Pourquoi et comment est-il utilisé?

79voto

splattne Points 48126

En termes simples, une ASP.NET HttpHandler est une classe qui implémente l' System.Web.IHttpHandler interface.

ASP.NET HTTPHandlers sont chargés d'intercepter les requêtes faites à votre ASP.NET serveur d'applications web. Ils exécuter en tant que processus, en réponse à une demande faite à l'ASP.NET Site. La plus courante est un gestionnaire d'ASP.NET page gestionnaire de processus .fichiers aspx. Lorsque les utilisateurs demandent une .fichier aspx, la demande est traitée par la page par le biais de la page gestionnaire.

ASP.NET offre un peu par défaut gestionnaires HTTP:

  • Page Maître (.aspx): les poignées de pages Web
  • L'Utilisateur Gestionnaire De Contrôle (.ascx): les poignées de contrôle utilisateur Web pages
  • Web Service Gestionnaire (.asmx): les poignées de service Web pages
  • Trace Gestionnaire (de trace.axd): les poignées de fonctionnalité de trace

Vous pouvez créer votre propre personnalisé gestionnaires HTTP rendu de sortie personnalisé pour le navigateur. Les scénarios les plus courants pour les Gestionnaires HTTP dans ASP.NET sont par exemple

  • livraison de créer dynamiquement des images (graphiques par exemple) ou des photos redimensionnées.
  • Flux RSS qui émettent de la RSS-XML formaté

Vous mettre en œuvre l' IHttpHandler interface pour créer un gestionnaire synchrone et l' IHttpAsyncHandler interface pour créer un gestionnaire asynchrone. Les interfaces de vous obliger à mettre en œuvre l' ProcessRequest méthode et l' IsReusable de la propriété.

L' ProcessRequest méthode gère le traitement des demandes, alors que le Booléen IsReusable propriété spécifie si votre gestionnaire peut être mis en commun pour la réutilisation (pour augmenter les performances) ou si un nouveau gestionnaire est requis pour chaque demande.

15voto

Marc Gravell Points 482669

Un HttpHandler (ou IHttpHandler ) est essentiellement tout ce qui est responsable de la fourniture de contenu. Une page ASP.NET (aspx) est un type de gestionnaire.

Vous pouvez par exemple écrire les vôtres pour servir des images, etc. à partir d'une base de données plutôt que du serveur Web lui-même, ou pour écrire un simple service POX (plutôt que SOAP / WCF / etc)

2voto

Santosh Wavare Points 21

HttpHandler Exemple,

HTTP Gestionnaire dans ASP.NET 2.0

Un gestionnaire est responsable de l'exécution de requêtes à partir d'un navigateur. Demande à un navigateur gère sont traités par une extension de fichier ou en appelant le gestionnaire directement.Le faible niveau de Demande et de Réponse de l'API de service des requêtes Http entrantes sont des Gestionnaires Http dans Asp.Net. Tous les gestionnaires d'implémenter l'interface IHttpHandler, qui est situé dans le Système.Web espace de noms. Les gestionnaires sont en quelque sorte analogue à Internet Server Application Programming Interface (ISAPI) les extensions.

Vous implémentez l'interface IHttpHandler pour créer un gestionnaire synchrone et la IHttpAsyncHandler interface pour créer un gestionnaire asynchrone. Les interfaces de vous obliger à mettre en œuvre la méthode ProcessRequest et la IsReusable de la propriété. La méthode ProcessRequest gère le traitement des demandes, alors que le Booléen IsReusable propriété spécifie si votre gestionnaire peut être mis en commun pour la réutilisation de l'augmentation de la performance, ou si un nouveau gestionnaire est requis pour chaque demande.

L' .ashx extension de fichier est réservé pour les gestionnaires personnalisés. Si vous créez un gestionnaire personnalisé avec une extension de nom de fichier de .ashx, il sera automatiquement enregistré dans IIS et ASP.NET. Si vous choisissez d'utiliser une autre extension de fichier, vous devrez vous inscrire à l'extension IIS et ASP.NET. L'avantage d'utiliser une extension autre que .ashx est que vous pouvez attribuer plusieurs extensions de fichier à un seul gestionnaire.

La configuration de Gestionnaires HTTP

Le gestionnaire de section de configuration est responsable pour le mappage d'Url entrantes pour le IHttpHandler ou IHttpHandlerFactory. Il peut être déclaré à l'ordinateur, du site ou de l'application. Les sous-répertoires héritent de ces paramètres. Les administrateurs de l'utilisation de la balise directive pour configurer la section. les directives sont interprétées et traitées dans un ordre séquentiel haut-bas. Utilisez la syntaxe suivante pour le gestionnaire de section:

La création de Gestionnaires HTTP

Pour créer un gestionnaire HTTP, vous devez implémenter l'interface IHttpHandler. L'interface IHttpHandler a une méthode et une propriété avec les signatures suivantes: void ProcessRequest(HttpContext); bool IsReusable {get;}

1voto

user1722133 Points 1

Toute Classe qui implémente System.Web.IHttpHandler Interface devient HttpHandler. Et cette classe exécuter en tant que processus, en réponse à une demande faite à l'ASP.NET Site.

La plus courante est un gestionnaire d'ASP.NET page gestionnaire de processus .fichiers aspx. Lorsque les utilisateurs demandent une .fichier aspx, la demande est traitée par la page par le biais de la page maître(La Classe qui implémente System.Web.IHttpHandler Interface).

Vous pouvez créer vos propres gestionnaires HTTP rendu de sortie personnalisé pour le navigateur.

Certains ASP.NET les gestionnaires par défaut sont:

  1. Page Maître (.aspx) – Poignées de pages Web
  2. L'Utilisateur Gestionnaire De Contrôle (.ascx) – Poignées de contrôle utilisateur Web pages
  3. Web Service Gestionnaire (.asmx) – Poignées de service Web pages
  4. Trace Gestionnaire (de trace.axd) – Poignées de fonctionnalité de trace

1voto

Budhimanta Points 1

Un gestionnaire HTTP ASP.NET est le processus (souvent appelé "noeud final") qui s'exécute en réponse à une demande adressée à une application Web ASP.NET. Le gestionnaire le plus courant est un gestionnaire de page ASP.NET qui traite les fichiers .aspx. Lorsque les utilisateurs demandent un fichier .aspx, la demande est traitée par la page via le gestionnaire de pages. Vous pouvez créer vos propres gestionnaires HTTP qui rendent une sortie personnalisée au navigateur.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X