我使用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'被调用并在提取数据之前将数据重新加载到缓存中?