Condividi tramite


Integrazione della memorizzazione nella cache di ASP.NET

In questo esempio viene descritto come utilizzare la cache di output ASP.NET con il modello di programmazione HTTP Web WCF. Vedere l'esempio Servizio risorse di base relativo a una versione indipendente di questo scenario in cui viene illustrata in dettaglio l'implementazione del servizio. In questo argomento viene illustrata la funzionalità di integrazione della cache di output ASP.NET.

Dimostrazione

Integrazione con la cache di output ASP.NET

Ee960171.Important(it-it,VS.100).gif Nota:
È possibile che gli esempi siano già installati nel computer. Verificare la directory seguente (impostazione predefinita) prima di continuare.

<UnitàInstallazione>:\WF_WCF_Samples

Se questa directory non esiste, vedere la pagina relativa agli esempi di Windows Communication Foundation (WCF) e Windows Workflow Foundation (WF) per .NET Framework 4 per scaricare tutti gli esempi Windows Communication Foundation (WCF) e WF. Questo esempio si trova nella directory seguente.

<UnitàInstallazione>:\WF_WCF_Samples\WCF\Basic\Web\AspNetCachingIntegration

Discussione

Nell'esempio viene utilizzato AspNetCacheProfileAttribute per la memorizzazione nella cache di output ASP.NET con il servizio Windows Communication Foundation (WCF). AspNetCacheProfileAttribute viene applicato alle operazioni del servizio e fornisce il profilo della cache in un file di configurazione che deve essere applicato alle risposte dell'operazione specifica.

Nel file Service.cs del progetto di Service di esempio entrambe le operazioni GetCustomer e GetCustomers sono contrassegnate con AspNetCacheProfileAttribute che fornisce il nome del profilo della cache "CacheFor60Seconds." Nel file Web.config del progetto Service il profilo di cache "CacheFor60Seconds" viene fornito nell'elemento <caching> di <system.web>. Per questo profilo di cache, il valore dell'attributo duration è "60", pertanto le risposte associate a questo profilo verranno memorizzate nella cache di output ASP.NET per 60 secondi. Inoltre, per questo profilo di cache l'attributo varmByParam è impostato su "format" e pertanto le risposte alle richieste con valori diversi per il parametro della stringa di query format verranno memorizzate nella cache separatamente. Infine, l'attributo varyByHeader del profilo di cache è impostato su "Accept" e pertanto le risposte alle richieste con valori dell'intestazione Accept diversi verranno memorizzate nella cache separatamente.

Il file Program.cs nel progetto Client dimostra come è possibile creare tale client utilizzando HttpWebRequest. È importante sottolineare che quella descritta è solo una delle modalità per accedere a un servizio WCF. È infatti possibile accedere al servizio utilizzando altre classi .NET Framework come la channel factory WCF e WebClient. Altri esempi in SDK (quali l'esempio Servizio HTTP di base e l'esempio Selezione automatica del formato) mostrano come utilizzare queste classi per comunicare con un servizio WCF.

Per eseguire l'esempio

L'esempio è costituito da tre progetti:

  • Service: progetto Web che include un servizio HTTP WCF ospitato in ASP.NET.

  • Client: progetto di applicazione console che effettua chiamate al servizio.

  • Common: libreria condivisa che contiene il tipo Customer utilizzato dal client e dal servizio.

Quando viene eseguita l'applicazione console Client, il client effettua richieste al servizio e scrive le informazioni pertinenti dalle risposte nella finestra della console.

Per eseguire l'esempio

  1. Aprire la soluzione per l'esempio relativo all'integrazione della memorizzazione nella cache di ASP.NET.

  2. Premere F6 per compilare la soluzione.

  3. Se la finestra Esplora soluzioni non è già aperta, premere CTRL+W+S.

  4. Nella finestra Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto Service e scegliere Avvia nuova istanza. Verrà avviato il server di sviluppo ASP.NET che ospita il servizio.

  5. Nella finestra Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto Client e scegliere Avvia nuova istanza.

  6. Verrà visualizzata la finestra della console client in cui sono inclusi l'URI del servizio in esecuzione e l'URI della pagina della Guida HTML per il servizio in esecuzione. In qualsiasi momento è possibile visualizzare la pagina della Guida HTML digitando l'URI della pagina della Guida in un browser.

  7. Durante l'esecuzione dell'esempio, il client scrive lo stato dell'attività corrente.

  8. Premere un tasto qualsiasi per chiudere l'applicazione console client.

  9. Premere MAIUSC+F5 per interrompere il debug del servizio.

  10. Nell'area di notifica di Windows fare clic con il pulsante destro del mouse sull'icona del server di sviluppo ASP.NET, quindi scegliere Interrompi.