关于outputcache的问题?
outputcache的确带来了方便,但也带来了问题:
如首页对一个显示新闻的用户控件进行了cache,
但如果后台进行了新闻的更新,如添加或修改,
在首面上还是原来的那些条目,不能及时反应出来.
请问:如果在后台对新闻内容更新时,能对outputcache缓存清空一下,
这样使首面内容能及时更新.
不想把duration的时间设得过短,因为更新的频率不大.但如果更新了,希望能及时在首页上加以显示.
请教各位了.
[解决办法]
在Page_Load里写上
Response.Cache.AddValidationCallback(new HttpCacheValidateHandler(ValidateCacheOutputFunction), null);
然后每次取缓存的时候都会调用ValidateCacheOutputFunction函数
public static void ValidateCacheOutputFunction(HttpContext context, Object data, ref HttpValidationStatus status)
(注意是个静态函数).如果你觉得缓存有效,就设status = HttpValidationStatus.Valid;
无效就设status = HttpValidationStatus.Invalid;
自己去MSDN查查吧.