Estoy revisando el OutputCacheProvider en ASP.NET 4.0 y utilizándolo para almacenar mi caché de salida en la base de datos de MongoDb. No puedo entender el propósito del método Add que es uno de los métodos de reemplazo para OutputCacheProvider. El método Add se invoca cuando tiene VaryByParam configurado en algo. Entonces, si tengo VaryByParam = "id", se invocará el método Add..NET 4.0 Implementación de OutputCacheProvider
Pero después de que también se invoca Add the Set y puedo insertarlo en la base de datos de MongoDb dentro del método Set.
public override void Set(string key, object entry, DateTime utcExpiry)
{
// if there is something in the query use the path and query to generate the key
var url = HttpContext.Current.Request.Url;
if (!String.IsNullOrEmpty(url.Query))
{
key = url.PathAndQuery;
}
Debug.WriteLine("Set(" + key + "," + entry + "," + utcExpiry + ")");
_service.Set(
new CacheItem() { Key = MD5(key), Item = entry, Expires = utcExpiry }
);
}
Dentro del método Set utilizo el PathAndQuery para obtener los parametros de la cadena de consulta y luego hacer un MD5 en la llave y guardarla en la base de datos MongoDB.
Parece que el método Add será útil si estoy haciendo algo como VaryByParam = "custom" o algo así.
¿Alguien puede arrojar algo de luz sobre el método Add de OutputCacheProvider?