我使用 HttpRuntime.Cache.Insert 将数据插入缓存。我有函数'onremove'作为cacheitemremovedcallback - 当缓存过期(15分钟后)它释放缓存中的数据并调用'onremove'将数据再次插入缓存。
每次我想使用缓存中的数据时,我都会先检查数据是否存在:
if (HttpRuntime.Cache[CACHE_DATA_TABLE] == null)
{ // load data into cache again}
如果我检查数据是否在缓存中并且它在那里,但是一旦我想使用它就会过期怎么办?所以当我打电话时:
DATADT = (DataTable)HttpRuntime.Cache[CACHE_DATA_TABLE]
HttpRuntime.Cache 是否会等到调用“onremove”并在提取数据之前完成将数据加载回缓存?