Estoy buscando implementar el almacenamiento en caché en un nivel de solicitud para un Servicio WCF. Cada solicitud a este servicio realiza una gran cantidad de llamadas a la base de datos. Piensa en múltiples recolectores de datos. Necesitamos permitir que un recopilador de datos acceda a la información que ya recuperó un recopilador de datos anterior.Caché de memoria o diccionario concurrente?
Estaba buscando utilizar el nuevo caché de memoria .Net 4.0 para esto mediante la creación de una instancia específica por solicitud.
¿Es esta una buena idea? ¿O debería simplemente usar un objeto de diccionario?
BTW: La recopilación de datos va a ser en paralelo, por lo que habrá más complejidades en el bloqueo, pero también podría usar colecciones concurrentes para eso.
Actualización: he decidido usar la colección simultánea porque eso modela mi necesidad mejor que una memoria caché de nivel de sistema. –
Según entiendo la clase MemoryCache, es una memoria caché de nivel de proceso ... – Legends
o incluso nivel AppDomain, no lo he probado. – Legends