Share via


Exemple SystemWebRouting Integration

Cet exemple illustre l'intégration de la couche d'hébergement avec les classes de l'espace de noms System.Web.Routing. Les classes de l'espace de noms System.Web.Routing permettent à une application d'utiliser des URL qui ne correspondent pas directement à une ressource physique. L'utilisation du routage Web permet au développeur de créer des adresses virtuelles pour HTTP qui sont ensuite remappées aux véritables services WCF. Cela peut être utile lorsqu'un service WCF doit être hébergé sans requérir de fichier ou ressource physique, ou lorsque des services doivent être accessibles via des URL qui ne contiennent pas d'extensions de fichier telles que .html ou .aspx. Cet exemple montre comment utiliser la classe RouteTable pour créer des URI virtuels qui mappent aux services en cours d'exécution définis dans global.asax. Pour cet exemple, deux flux RSS sont créés à l'aide de WCF : un flux movies et un flux channels. Les URL qui permettent d'activer les services ne contiennent pas d'extension de fichier et sont inscrites dans la méthode Application_Start.

Ee523210.note(fr-fr,VS.100).gifRemarque :
Les classes de l'espace de noms System.Web.Routing ne fonctionnent que pour des services hébergés sur HTTP.

Ee523210.note(fr-fr,VS.100).gifRemarque :
Cet exemple fonctionne uniquement dans IIS 7.0, puisque services Internet (IIS) 6.0 utilise une autre méthode pour la prise en charge des URL sans extension.

Ee523210.Important(fr-fr,VS.100).gif Remarque :
Les exemples peuvent déjà être installés sur votre ordinateur. Recherchez le répertoire (par défaut) suivant avant de continuer.

<LecteurInstall>:\WF_WCF_Samples

Si ce répertoire n'existe pas, rendez-vous sur la page (éventuellement en anglais) des exemples Windows Communication Foundation (WCF) et Windows Workflow Foundation (WF) pour .NET Framework 4 pour télécharger tous les exemples Windows Communication Foundation (WCF) et WF. Cet exemple se trouve dans le répertoire suivant.

<LecteurInstall>:\WF_WCF_Samples\WCF\Basic\Services\Hosting\WebRoutingIntegration

Pour utiliser cet exemple

  1. À l'aide de Visual Studio 2010, ouvrez le fichier WebRoutingIntegration.sln.

  2. Pour exécuter la solution et démarrer le serveur de développement Web, appuyez sur F5.

    Une liste des répertoires de l'exemple s'affiche. Notez l'absence de fichiers ayant l'extension .svc.

  3. Dans la barre d'adresses, ajoutez movies à l'URL, pour obtenir https://localhost:[port]/movies et appuyez sur ENTRÉE.

    Le flux movies s'affiche dans le navigateur.

  4. Dans la barre d'adresses, ajoutez channels à l'URL, pour obtenir https://localhost:[port]/channels et appuyez sur ENTRÉE.

    Le flux channels s'affiche dans le navigateur.

  5. Fermez le navigateur Web en appuyant sur ALT+F4.

    Si le serveur de développement ne s'est pas fermé, cliquez avec le bouton droit sur l'icône de barre d'état système et sélectionnez Arrêter.

Pour utiliser cet exemple avec hébergement dans IIS

  1. À l'aide de Visual Studio 2010, ouvrez le fichier WebRoutingIntegration.sln.

  2. Générez le projet en appuyant sur F6.

  3. Créez une application Web dans le Gestionnaire des services Internet (IIS).

    1. Dans le Gestionnaire des services Internet (IIS), cliquez avec le bouton droit sur Site Web par défaut et sélectionnez Ajouter une application.

    2. Pour l'alias, tapez WebRoutingIntegration.

    3. Pour le Chemin d'accès physique, sélectionnez le dossier Service situé dans le projet.

    4. Cliquez sur OK.

  4. Démarrez l'application, en cliquant avec le bouton droit sur l'application Web et en sélectionnant Gérer une application, puis Parcourir.

  5. Dans la barre d'adresses, ajoutez movies à l'URL, pour obtenir https://localhost:[port]/movies et appuyez sur ENTRÉE.

    Le flux movies s'affiche dans le navigateur.

  6. Dans la barre d'adresses, ajoutez channels à l'URL, pour obtenir https://localhost:[port]/channels et appuyez sur ENTRÉE.

    Le flux channels s'affiche dans le navigateur.

  7. Fermez le navigateur Web en appuyant sur ALT+F4.

Cet exemple montre que la couche d'hébergement est capable de composer avec les classes de l'espace de noms System.Web.Routing pour router les requêtes de services hébergés sur HTTP.

Ee523210.note(fr-fr,VS.100).gifRemarque :
Mettez à jour le pool d'applications par défaut de sorte qu'il utilise .NET Framework version 4 s'il utilise la version 2.