Integración de almacenamiento en caché de ASP.NET
En el ejemplo AspNetCachingIntegration se muestra cómo utilizar la memoria caché de resultados de ASP.NET con el modelo de programación WEB HTTP de WCF. Este tema se centra en la característica de integración de la memoria caché de resultados de ASP.NET.
Muestra
Integración con la memoria caché de resultados de ASP.NET.
Debate
En el ejemplo se utiliza AspNetCacheProfileAttribute para utilizar el almacenamiento en caché de resultados de ASP.NET con el servicio Windows Communication Foundation (WCF). AspNetCacheProfileAttribute se aplica a las operaciones de servicio y proporciona el nombre de un perfil de la memoria caché en un archivo de configuración que se debería aplicar a las respuestas de la operación dada.
En el archivo Service.cs del proyecto Servicio del ejemplo, ambas operaciones, GetCustomer
y GetCustomers
, se marcan con AspNetCacheProfileAttribute, que proporciona el nombre del perfil de la memoria caché "CacheFor60Seconds". En el archivo Web.config del proyecto Servicio, el perfil de la memoria caché "CacheFor60Seconds" se proporciona bajo el elemento <caching>
de <system.web>
. Para este perfil de la memoria caché, el valor del atributo duration
es "60", de modo que las respuestas asociadas a este perfil están almacenadas en la memoria caché, en la caché de resultados de ASP.NET durante 60 segundos. Además, para este perfil de la memoria caché, el atributo varmByParam
se establece en "format" de modo que las solicitudes con valores diferentes para el parámetro de cadena de consulta format
tengan sus respuestas almacenadas en memoria caché de forma independiente. Por último, el atributo varyByHeader
del perfil de la memoria caché se establece en "Accept", de modo que las solicitudes con diferentes valores de encabezado Accept tienen sus respuestas almacenadas en memoria caché separadamente.
Program.cs en el proyecto cliente muestra el modo en que se puede crear este tipo de cliente utilizando HttpWebRequest. Observe que se trata simplemente de una manera de tener acceso a un servicio de WCF. También es posible tener acceso al servicio utilizando otras clases de .NET Framework como el generador de canales de WCF y WebClient. Otros ejemplos del SDK (como el ejemplo de servicio HTTP básico) ilustran cómo utilizar estas clases para comunicarse con un servicio WCF.
Para ejecutar el ejemplo
El ejemplo consta de tres proyectos:
Servicio: proyecto de aplicación web que incluye un servicio HTTP WCF hospedado en ASP.NET.
Cliente: proyecto de aplicación de consola que realiza las llamadas al servicio.
Común: biblioteca compartida que contiene el tipo Customer utilizado por el cliente y el servicio.
Cuando se ejecuta la aplicación de consola Cliente, el cliente realiza las solicitudes al servicio y escribe la información pertinente de las respuestas en la ventana de la consola.
Para ejecutar el ejemplo
Abra la solución para obtener el ejemplo de integración del almacenamiento en caché de ASP.NET.
Presione Ctrl+Mayús+B para compilar la solución.
Si no está abierta aún, presione CTRL+W+S para abrir la ventana del Explorador de soluciones.
En la ventana del Explorador de soluciones, haga clic con el botón derecho en el proyecto Servicio y seleccione Iniciar nueva instancia. De esta forma se inicia el servidor de desarrollo de ASP.NET, que hospeda el servicio.
En la ventana del Explorador de soluciones, haga clic con el botón derecho en el proyecto Cliente y seleccione Iniciar nueva instancia.
La ventana de la consola del cliente aparece y proporciona el URI del servicio en ejecución y el URI de la página de Ayuda HTML para este. Puede ver la página de Ayuda HTML en cualquier momento escribiendo su URI en un explorador.
A medida que el ejemplo se ejecuta, el cliente escribe el estado de la actividad actual.
Presione cualquier tecla para terminar la aplicación de consola del cliente.
Presione MAYÚS+F5 para dejar de depurar el servicio.
En el Área de notificación de Windows, haga clic con el botón derecho en el icono del servidor de desarrollo de ASP.NET y seleccione Detener.