ASP.NET Caching Integration
L’exemple AspNetCachingIntegration montre comment utiliser le cache de sortie ASP.NET avec le modèle de programmation HTTP web WCF. Cette rubrique met l’accent sur la fonctionnalité d’intégration du cache de sortie ASP.NET.
Illustre le
Intégration avec le cache de sortie ASP.NET.
Discussion
L’exemple se sert de l’AspNetCacheProfileAttribute pour utiliser la mise en cache de sortie ASP.NET avec le service Windows Communication Foundation (WCF). L'AspNetCacheProfileAttribute est appliqué aux opérations de service et fournit le nom d'un profil de cache dans un fichier de configuration qui doit être appliqué aux réponses de l'opération donnée.
Dans le fichier Service.cs de l’exemple de projet Service, les opérations GetCustomer
et GetCustomers
sont toutes deux marquées avec l’AspNetCacheProfileAttribute, qui fournit le nom de profil de cache « CacheFor60Seconds ». Dans le fichier Web.config du projet Service, le profil de cache « CacheFor60Seconds » est fourni sous l’élément <caching>
de <system.web>
. Pour ce profil de cache, la valeur de l’attribut duration
est « 60 », de sorte que les réponses associées à ce profil sont placées dans le cache de sortie ASP.NET pour une durée de 60 secondes. De même, pour ce profil de cache, l’attribut varmByParam
a la valeur « format », de sorte que les réponses aux demandes présentant différentes valeurs pour le paramètre de chaîne de requête format
sont mises en cache séparément. Enfin, l’attribut varyByHeader
du profil de cache a la valeur « Accept », de sorte que les réponses aux demandes présentant différentes valeurs d’en-tête Accept sont mises en cache séparément.
Le fichier program.cs du projet Client montre comment un tel client peut être créé à l'aide de HttpWebRequest. Notez qu'il ne s'agit là que de l'un des moyens d'accéder à un service WCF. Il est également possible d’accéder au service à l’aide d’autres classes .NET Framework, comme la fabrique de canaux WCF et WebClient. D’autres exemples du Kit de développement logiciel (SDK) (comme l’exemple Service HTTP de base) montrent comment utiliser ces classes pour communiquer avec un service .
Exécution de l'exemple
Cet exemple est composé de trois projets :
Service : projet d’application web qui inclut un service HTTP WCF hébergé dans ASP.NET.
Client : projet d’application console qui passe des appels au service.
Common : bibliothèque partagée contenant le type Customer qu’utilisent le client et le service.
Lorsque l'application console Client s'exécute, le client adresse des requêtes au service et affiche les informations pertinentes des réponses dans la fenêtre de console.
Exécution de l'exemple
Ouvrez la solution de l'exemple ASP.NET Caching Integration.
Appuyez sur Ctrl+Maj+B pour générer la solution.
Si la fenêtre Explorateur de solutions n’est pas déjà ouverte, appuyez sur CTRL+W+S.
Dans la fenêtre Explorateur de solutions, cliquez avec le bouton droit sur le projet Service, puis sélectionnez Démarrer une nouvelle instance. Cette opération lance le serveur de développement ASP.NET, qui héberge le service.
Dans la fenêtre Explorateur de solutions, cliquez avec le bouton droit sur le projet Client, puis sélectionnez Démarrer une nouvelle instance.
La fenêtre de console du client apparaît et fournit l'URI du service en cours d'exécution, ainsi que l'URI de sa page d'aide HTML. Vous pouvez à tout moment consulter la page d'aide HTML en tapant son URI dans un navigateur.
Lorsque l'exemple s'exécute, le client écrit l'état de l'activité actuelle.
Appuyez sur une touche quelconque pour arrêter l'application console Client.
Appuyez sur MAJ+F5 pour arrêter le débogage du service.
Dans la zone de notification Windows, cliquez avec le bouton droit sur l’icône du serveur de développement ASP.NET et sélectionnez Arrêter.