Delen via


ASP.NET caching-integratie

Het AspNetCachingIntegration-voorbeeld laat zien hoe u de ASP.NET uitvoercache gebruikt met het WCF WEB HTTP-programmeermodel. Dit onderwerp is gericht op de ASP.NET functie voor integratie van uitvoercache.

Demonstreert

Integratie met de ASP.NET Uitvoercache.

Discussie

In het voorbeeld wordt gebruikgemaakt van het AspNetCacheProfileAttribute gebruik van ASP.NET uitvoercache met de WCF-service (Windows Communication Foundation). De AspNetCacheProfileAttribute bewerking wordt toegepast op servicebewerkingen en geeft de naam van een cacheprofiel op in een configuratiebestand dat moet worden toegepast op reacties van de opgegeven bewerking.

In het Service.cs-bestand van het voorbeeldserviceproject worden zowel de bewerkingen als de GetCustomer GetCustomers bewerkingen gemarkeerd met de AspNetCacheProfileAttributenaam van het cacheprofiel 'CacheFor60Seconds'. In het web.config-bestand van het serviceproject wordt het cacheprofiel CacheFor60Seconds geleverd onder het <caching> element van <system.web>. Voor dit cacheprofiel is de waarde van het duration kenmerk 60, dus antwoorden die aan dit profiel zijn gekoppeld, worden gedurende 60 seconden in de cache opgeslagen in de ASP.NET uitvoercache. Voor dit cacheprofiel is het varmByParam kenmerk ook ingesteld op 'format', zodat aanvragen met verschillende waarden voor de querytekenreeksparameter afzonderlijk in de format cache worden opgeslagen. Ten slotte is het kenmerk van varyByHeader het cacheprofiel ingesteld op 'Accepteren', zodat aanvragen met verschillende accept-headerwaarden hun antwoorden afzonderlijk in de cache hebben opgeslagen.

Program.cs in het clientproject laat zien hoe een dergelijke client kan worden gemaakt met behulp van HttpWebRequest. Houd er rekening mee dat dit slechts één manier is om toegang te krijgen tot een WCF-service. Het is ook mogelijk om toegang te krijgen tot de service met behulp van andere .NET Framework-klassen, zoals de WCF-kanaalfactory en WebClient. Andere voorbeelden in de SDK (zoals het voorbeeld van de Basic HTTP-service ) laten zien hoe u deze klassen kunt gebruiken om te communiceren met een WCF-service.

Het voorbeeld uitvoeren

Het voorbeeld bestaat uit drie projecten:

  • Service: Een webtoepassingsproject dat een WCF HTTP-service bevat die wordt gehost in ASP.NET.

  • Client: een consoletoepassingsproject dat aanroept naar de service.

  • Algemeen: Een gedeelde bibliotheek met het type Klant dat wordt gebruikt door de client en service.

Terwijl de clientconsoletoepassing wordt uitgevoerd, doet de client aanvragen naar de service en schrijft de relevante informatie van de antwoorden op het consolevenster.

Het voorbeeld uitvoeren

  1. Open de oplossing voor het voorbeeld van ASP.NET cachingintegratie.

  2. Druk op Ctrl+Shift+B om de oplossing te bouwen.

  3. Als het venster Solution Explorer nog niet is geopend, drukt u op Ctrl+W+S.

  4. Klik in het venster Solution Explorer met de rechtermuisknop op het serviceproject en selecteer Nieuw exemplaar starten. Hiermee start u de ASP.NET ontwikkelserver, die als host fungeert voor de service.

  5. Klik in het Venster Solution Explorer met de rechtermuisknop op het clientproject en selecteer Nieuw exemplaar starten.

  6. Het venster van de clientconsole wordt weergegeven en biedt de URI van de actieve service en de URI van de HTML-helppagina voor de actieve service. U kunt de HTML-helppagina op elk gewenst moment bekijken door de URI van de Help-pagina in een browser te typen.

  7. Terwijl het voorbeeld wordt uitgevoerd, schrijft de client de status van de huidige activiteit.

  8. Druk op een willekeurige toets om de clientconsoletoepassing te beëindigen.

  9. Druk op Shift+F5 om de foutopsporing van de service te stoppen.

  10. Klik in het Systeemvak van Windows met de rechtermuisknop op het pictogram ASP.NET ontwikkelserver en selecteer Stoppen.