ASP.NET-ZwischenspeicherungsintegrationASP.NET Caching Integration

In diesem Beispiel wird gezeigt, wie der ASP.NET-Ausgabecache mit dem WCF-WEB HTTP-Programmiermodell verwendet wird.This sample demonstrates how to utilize the ASP.NET output cache with the WCF WEB HTTP programming model. Finden Sie unter der grundlegenden Ressourcendiensts Beispiel eine selbst gehostete Version dieses Szenarios, die die dienstimplementierung ausführlich erläutert wird.Please see the Basic Resource Service sample for a self-hosted version of this scenario that discusses the service implementation in depth. Dieses Thema befasst sich mit den Integrationsfunktion des ASP.NET-Ausgabecaches.This topic focuses on the ASP.NET output cache integration feature.

VeranschaulichtDemonstrates

Integration in den ASP.NET-AusgabecacheIntegration with the ASP.NET Output Cache

Wichtig

Die Beispiele sind möglicherweise bereits auf dem Computer installiert.The samples may already be installed on your machine. Suchen Sie nach dem folgenden Verzeichnis (Standardverzeichnis), bevor Sie fortfahren.Check for the following (default) directory before continuing.

<InstallDrive>:\WF_WCF_Samples

Wenn dieses Verzeichnis nicht vorhanden ist, rufen Sie Windows Communication Foundation (WCF) and Windows Workflow Foundation (WF) Samples for .NET Framework 4 auf, um alle Windows Communication Foundation (WCF)Windows Communication Foundation (WCF) - und WFWF -Beispiele herunterzuladen.If this directory does not exist, go to Windows Communication Foundation (WCF) and Windows Workflow Foundation (WF) Samples for .NET Framework 4 to download all Windows Communication Foundation (WCF)Windows Communication Foundation (WCF) and WFWF samples. Dieses Beispiel befindet sich im folgenden Verzeichnis.This sample is located in the following directory.

<InstallDrive>:\WF_WCF_Samples\WCF\Basic\Web\AspNetCachingIntegration

DiskussionDiscussion

Im Beispiel wird das AspNetCacheProfileAttribute verwendet, um den ASP.NET-Ausgabecache mit dem Windows Communication Foundation (WCF)Windows Communication Foundation (WCF)-Dienst nutzen zu können.The sample uses the AspNetCacheProfileAttribute to utilize ASP.NET output caching with the Windows Communication Foundation (WCF)Windows Communication Foundation (WCF) service. Das AspNetCacheProfileAttribute wird auf Dienstvorgänge angewendet und gibt den Namen eines Cacheprofils in einer Konfigurationsdatei an, die auf Antworten vom angegebenen Vorgang angewendet werden soll.The AspNetCacheProfileAttribute is applied to service operations, and provides the name of a cache profile in a configuration file that should be applied to responses from the given operation.

In der Datei Service.cs des Beispielprojekts Dienst sowohl den GetCustomer und GetCustomers Vorgänge sind mit markierten der AspNetCacheProfileAttribute, stellt den cacheprofilnamen "CacheFor60Seconds".In the Service.cs file of the sample Service project, both the GetCustomer and GetCustomers operations are marked with the AspNetCacheProfileAttribute, which provides the cache profile name "CacheFor60Seconds". In der Datei "Web.config" des Dienstprojekts wird das Cacheprofil "CacheFor60Seconds" bereitgestellt, unter dem <caching> Element des <system.web>.In the Web.config file of the Service project, the cache profile "CacheFor60Seconds" is provided under the <caching> element of <system.web>. Für dieses Cacheprofil wird der Wert der duration -Attribut ist "60", dieses Profil zugeordnete Antworten 60 Sekunden lang im ASP.NET-Ausgabecache zwischengespeichert werden.For this cache profile, the value of the duration attribute is "60", so responses associated with this profile are cached in the ASP.NET output cache for 60 seconds. Für dieses Cacheprofil der varmByParam -Attribut festgelegt ist; bei Anforderungen mit anderen Werten für "formatieren" der format -Abfragezeichenfolgenparameter die Antworten getrennt zwischengespeichert.Also, for this cache profile, the varmByParam attribute is set to "format" so requests with different values for the format query string parameter have their responses cached separately. Abschließend wird des Cacheprofils des varyByHeader -Attribut auf "Akzeptieren" festgelegt ist, müssen Anforderungen mit anderen Accept-Headerwerten getrennt zwischengespeichert werden.Lastly, the cache profile’s varyByHeader attribute is set to "Accept", so requests with different Accept header values have their responses cached separately.

Program.cs im Clientprojekt zeigt, wie ein Client dieser Art mit HttpWebRequest erstellt werden kann.Program.cs in the Client project demonstrates how such a client can be authored using HttpWebRequest. Beachten Sie, dass dies nur eine Möglichkeit für den Zugriff auf einen WCF-Dienst darstellt.Note that this is just one way to access a WCF service. Es ist auch möglich, mit anderen .NET Framework-Klassen wie der WCFWCF-Kanalfactory und WebClient auf den Dienst zuzugreifen.It is also possible to access the service using other .NET Framework classes like the WCFWCF channel factory and WebClient. Weitere Beispiele im SDK (z. B. die grundlegenden HTTP-Dienst Beispiel und die automatische Formatauswahl Beispiel) veranschaulicht, wie diese Klassen verwenden, um die Kommunikation mit einer WCFWCF Dienst.Other samples in the SDK (such as the Basic HTTP Service sample and the Automatic Format Selection sample) illustrate how to use these classes to communicate with a WCFWCF service.

So führen Sie das Beispiel ausTo run the sample

Das Beispiel umfasst drei Projekte:The sample consists of three projects:

  • Dienst: ein Webanwendungsprojekt, der einen gehosteten WCF-HTTP-Dienst in ASP.NET enthält.Service: A Web Application project that includes a WCF HTTP service hosted in ASP.NET.

  • Client: ein Konsolenanwendungsprojekt, das Aufrufe an den Dienst ausführt.Client: A console application project that makes calls to the service.

  • Allgemeine: eine freigegebene Bibliothek, die die vom Client und Dienst verwendeten Kundentyp enthält.Common: A shared library that contains the Customer type used by the client and service.

Während die Clientkonsolenanwendung ausgeführt wird, sendet der Client Anforderungen an den Dienst und schreibt die in den Antworten enthaltenen wichtigen Informationen in das Konsolenfenster.As the Client console application runs, the client makes requests to the service and writes the pertinent information from the responses to the console window.

So führen Sie das Beispiel ausTo run the sample

  1. Öffnen Sie die Projektmappe für das Beispiel der Integration von ASP.NET-Zwischenspeicherung.Open the solution for the ASP.NET Caching Integration Sample.

  2. Drücken Sie STRG+UMSCHALT+B, um die Projektmappe zu erstellen.Press CTRL+SHIFT+B to build the solution.

  3. Wenn die Projektmappen-Explorer Fenster nicht bereits geöffnet ist, drücken Sie STRG + W + s.If the Solution Explorer window is not already open, press CTRL+W+S.

  4. Aus der Projektmappen-Explorer Fenster, mit der rechten Maustaste die Service Projekt, und wählen Sie neue Instanz starten.From the Solution Explorer window, right click the Service project and select Start New Instance. Der ASP.NET-Entwicklungsserver, der den Dienst hostet, wird gestartet.This launches the ASP.NET development server, which hosts the service.

  5. Aus der Projektmappen-Explorer Fenster, mit der rechten Maustaste die Client Projekt, und wählen Sie neue Instanz starten.From the Solution Explorer window, right click the Client project and select Start New Instance.

  6. Im eingeblendeten Clientkonsolenfenster werden der URI des ausgeführten Diensts und der URI der HTML-Hilfeseite für den ausgeführten Dienst angezeigt.The client console window appears and provides the URI of the running service and the URI of the HTML help page for the running service. Sie können die HTML-Hilfeseite jederzeit anzeigen, indem sie den URI der Hilfeseite in einem Browser eingeben.At any point in time you can view the HTML help page by typing the URI of the help page in a browser.

  7. Während das Beispiel ausgeführt wird, schreibt der Client den Status der aktuellen Aktivität.As the sample runs, the client writes the status of the current activity.

  8. Drücken Sie eine beliebige Taste, um die Clientkonsolenanwendung zu beenden.Press any key to terminate the client console application.

  9. Drücken Sie UMSCHALT+F5, um das Debugging des Diensts zu beenden.Press SHIFT+F5 to stop debugging the service.

  10. Klicken Sie im Windows-Infobereich mit der rechten Maustaste, klicken Sie auf das Symbol "ASP.NET Development Server", und wählen beenden.In the Windows Notification Area, right click the ASP.NET development server icon and select Stop.