Exemple SystemWebRouting Integration
L’exemple WebRoutingIntegration 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 de fichiers tels 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.
Notes
Les classes de l'espace de noms System.Web.Routing ne fonctionnent que pour des services hébergés sur HTTP.
Cet exemple utilise WCF pour créer deux flux RSS : 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
de la classe Global
dérivée de la classe HttpApplication.
Notes
Cet exemple fonctionne uniquement dans Internet Information Services (IIS) 7.0 et versions ultérieures, car IIS 6.0 utilise une méthode différente pour prendre en charge les URL sans extension.
Pour utiliser cet exemple
À l’aide de Visual Studio, ouvrez le fichier WebRoutingIntegration.sln.
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.
Dans la barre d’adresses, ajoutez
movies
à l’URL pour qu’elle indiquehttp://localhost:[port]/movies
et appuyez sur Entrée.Le flux movies s'affiche dans le navigateur.
Dans la barre d’adresses, ajoutez
channels
à l’URL pour qu’elle indiquehttp://localhost:[port]/channels
et appuyez sur Entrée.Le flux channels s'affiche dans le navigateur.
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 la zone de notification et sélectionnez Arrêter.
Pour utiliser cet exemple avec hébergement dans IIS
À l’aide de Visual Studio, ouvrez le fichier WebRoutingIntegration.sln.
Générez le projet en appuyant sur Ctrl+Maj+B.
Créez une application Web dans le Gestionnaire des services Internet (IIS).
Dans le Gestionnaire des services Internet (IIS), cliquez avec le bouton droit sur Site web par défaut et sélectionnez Ajouter une application.
Pour l’alias, tapez
WebRoutingIntegration
.Pour le Chemin d’accès physique, sélectionnez le dossier Service situé dans le projet.
Appuyez sur OK.
Démarrez l’application en cliquant avec le bouton droit sur l’application Web et en sélectionnant Gérer une application, puis Parcourir.
Dans la barre d’adresses, ajoutez
movies
à l’URL pour qu’elle indiquehttp://localhost:[port]/movies
et appuyez sur Entrée.Le flux movies s'affiche dans le navigateur.
Dans la barre d’adresses, ajoutez
channels
à l’URL pour qu’elle indiquehttp://localhost:[port]/channels
et appuyez sur Entrée.Le flux channels s'affiche dans le navigateur.
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.
Notes
Vous devez mettre à jour la version du pool d’applications par défaut vers .NET Framework 4 si elle est définie sur la version 2.