gpt4 book ai didi

c# - HttpRuntime.Cache 没有过期?

转载 作者:太空宇宙 更新时间:2023-11-03 12:45:47 24 4
gpt4 key购买 nike

我对以下代码有疑问。我有以下代码,

            if (HttpRuntime.Cache[cacheKey] == null)
{
AddTask(cacheKey, JsonConvert.SerializeObject(result), 60 * 30);
}
r = JsonConvert.DeserializeObject<Result>(HttpRuntime.Cache[cacheKey].ToString());
HttpRuntime.Cache[cacheKey] = JsonConvert.SerializeObject(r);


private static void AddTask(string key, string value, int seconds)
{
HttpRuntime.Cache.Insert(key, value, null,
DateTime.Now.AddSeconds(10), Cache.NoSlidingExpiration,
CacheItemPriority.NotRemovable, new CacheItemRemovedCallback(CacheItemRemoved));
}

public static void CacheItemRemoved(string k, object v, CacheItemRemovedReason r)
{
}

我所做的只是添加和更新(如果存在)缓存。然后 10 秒后我想检查一些东西。但是我的 CacheItemRemoved 回调从未调用过。

最佳答案

何时使用

更新缓存
HttpRuntime.Cache[cacheKey] = JsonConvert.SerializeObject(r);

然后缓存时间重置为默认时间。现在我不再使用字符串而是使用对象实例而不更新缓存。它有效

notification = HttpRuntime.Cache[cacheKey] as Notification;
HttpRuntime.Cache.Insert(key, notificationResult , null,
DateTime.Now.AddSeconds(10), Cache.NoSlidingExpiration,
CacheItemPriority.NotRemovable, new CacheItemRemovedCallback(CacheItemRemoved));

关于c# - HttpRuntime.Cache 没有过期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37390203/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com