COMMENT FAIRE : Créer un gestionnaire HTTP ASP.NET avec Visual C# .NET

Traductions disponibles Traductions disponibles
Numéro d'article: 308001 - Voir les produits auxquels s'applique cet article
Ancien nº de publication de cet article : F308001
Agrandir tout | Réduire tout

Sommaire

Résumé

Cet article étape par étape explique comment utiliser Visual C# .NET pour créer un gestionnaire HTTP à la fois simple et personnalisé. Cet article explique comment créer, déployer et configurer le gestionnaire.

Implémenter le gestionnaire

  1. Ouvrez Microsoft Visual Studio .NET. Dans Visual C# .NET, créez un nouveau projet de bibliothèque de classes nommé MyHandler.
  2. Définissez une référence pour l'assemblage System.Web.dll.
  3. Ajoutez la directive suivante à la classe :
    using System.Web;
  4. Renommez la classe SyncHandler.cs, puis modifiez la définition de classe pour traduire ce changement.
  5. Implémentez l'interface IHttpHandler. Votre définition de classe doit apparaître comme suit :
    public class SyncHandler : IHttpHandler
  6. Implémentez la propriété IsReusable et la méthode ProcessRequest de l'interface IHttpHandler. Puisqu'il s'agit d'un gestionnaire synchrone, renvoyez False pour la propriété IsReusable de sorte que le gestionnaire ne soit pas réservé.
    public bool IsReusable
    {
       get {return false;}
    }
    public void ProcessRequest(HttpContext context)
    {
       context.Response.Write("Bonjour de la part du gestionnaire personnalisé.");
    }
    
  7. Compilez le projet.

Déployer le gestionnaire

  1. Créez un nouveau répertoire nommé Handler sous le répertoire C:\Inetpub\Wwwroot.
  2. Créez un sous-répertoire nommé Bin dans le répertoire Handler nouvellement créé. Le chemin résultant est C:\Inetpub\Wwwroot\Handler\Bin.
  3. Copiez MyHandler.dll du répertoire Bin\Debug de votre projet dans le répertoire C:\Inetpub\Wwwroot\Handler\Bin.
  4. Suivez ces étapes pour marquer le nouveau répertoire Handler comme une application Web :
    1. Ouvrez Internet Services Manager.
    2. Cliquez avec le bouton droit sur le répertoire Handler, puis cliquez sur Propriétés.
    3. Dans l'onglet Répertoire, cliquez sur Créer.
  5. Suivez ces étapes pour créer un mappage de l'application pour le gestionnaire. Pour ce gestionnaire, créez un mappage pour le fichier Aspnet_isapi.dll associé à l'extension *.sync. Chaque fois qu'un fichier .sync est demandé, la requête est routée vers l'application ASP.NET qui exécute le code dans le gestionnaire.
    1. Cliquez avec le bouton droit sur l'application Handler Web, puis cliquez sur Propriétés.
    2. Dans l'onglet Répertoire, cliquez sur Configuration.
    3. Cliquez sur Ajouter pour ajouter un nouveau mappage.
    4. Dans la zone de texte Exécutable, tapez le chemin suivant :
      C:\WINNT\Microsoft.NET\Framework\<version#>\Aspnet_isapi.dll
    5. Dans la zone de texte Extension, tapez .sync.
    6. Assurez-vous que la case à cocher Vérifier si un fichier existe est désactivée, puis cliquez sur OK pour fermer la boîte de dialogue Ajouter/Modifier le mappage d'extension de l'application.
    7. Cliquez sur OK pour fermer les boîtes de dialogue Configuration de l'application et Propriétés du gestionnaire.
  6. Fermez Internet Services Manager.

Configurer le système

  1. Dans le répertoire C:\Inetpub\Wwwroot\Handler, créez un nouveau fichier nommé Web.config.
  2. Ajoutez le code suivant à Web.config :
    <configuration>
       <system.web>
          <httpHandlers>
             <add verb="*" path="*.sync" type="MyHandler.SyncHandler, MyHandler" />
          </httpHandlers>
       </system.web>
    </configuration>
    
    
    Dans l'attribut verb="*", nous indiquons au gestionnaire de traiter une requête qui utilise n'importe quel verbe (par exemple : POST, HEAD, GET, etc.). Si vous souhaitez que ce gestionnaire ne traite que la requête POST, modifiez cet attribut pour verb="POST".

    Dans l'attribut path="*.sync", nous indiquons au gestionnaire de traiter toutes les requêtes entrantes pour des fichiers dont l'extension est .sync.

    Dans l'attribut type="MyHandler.SyncHander, MyHandler", nous indiquons au gestionnaire qui traite la requête d'effectuer l'implémentation dans l'espace de noms MyHandler.SyncHandler ; cette classe réside dans l'assemblage MyHandler.

Tester le module

Pour tester un gestionnaire, il n'est pas nécessaire qu'une page existe dans le système de fichiers. Par exemple, demandez le fichier Default.sync dans l'application Web du gestionnaire (http://<ComputerName>/Handler/Default.sync). Vous devez recevoir les résultats suivants :
Bonjour de la part du gestionnaire personnalisé.

RÉFÉRENCES

Pour plus d'informations sur les gestionnaires HTTP, cliquez sur le numéro d'article ci-après pour afficher l'article correspondant de la Base de connaissances de Microsoft :
307985 BETA-INFO : Présentation des modules HTTP et des gestionnaires HTTP ASP.NET













Propriétés

Numéro d'article: 308001 - Dernière mise à jour: mardi 29 avril 2003 - Version: 3.0
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft ASP .NET version bêta 2
  • Microsoft Visual C# .NET 2002 Initiation
Mots-clés : 
kbhowto kbhowtomaster kbhttpruntime kbgrpdsasp KB308001
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com