我正在檢出ASP.NET 4.0中的OutputCacheProvider並使用它將我的輸出緩存存儲到MongoDb數據庫中。我無法理解Add方法的用途,它是OutputCacheProvider的重寫方法之一。當您將VaryByParam設置爲某些內容時,會調用Add方法。所以,如果我有VaryByParam =「id」,那麼Add方法將被調用。.NET 4.0實現OutputCacheProvider
但是在添加集之後,我也可以插入到Set方法中的MongoDb數據庫中。
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 }
);
}
內部的設定方法我用PathAndQuery來獲取查詢字符串的PARAMS,然後做一個MD5的密鑰,並將其保存到MongoDB的數據庫。
看來像Add方法將是有用的,如果我正在做像VaryByParam =「自定義」之類的東西。
任何人都可以點亮OutputCacheProvider的Add方法嗎?