gpt4 book ai didi

caching - AppFabric 超时通知

转载 作者:行者123 更新时间:2023-12-02 14:32:34 24 4
gpt4 key购买 nike

我已在 AppFabric 上启用通知,并且在添加期间指定的超时后从缓存中删除项目时,我尝试收到通知。例如:

TimeSpan timeout = new TimeSpan(0,0,10); 
m_cache.Add(OrderId.Text, order, timeout);
m_cache.AddItemLevelCallback(OrderId.Text,DataCacheOperations.RemoveItem,myCacheLvlDelegate);

我在“myCacheLvlDelegate”方法中放置了一个断点,但即使在 10 秒超时(测试)之后也从未到达该断点。出于测试目的,我已明确调用

 m_cache.Remove(OrderId.Text); 

然后代表被调用!

因此,仅当我显式调用删除函数时才会调用委托(delegate)方法,但如果超时到期则不会调用...

您是否有解决方案可以在超时(添加期间指定的超时)后收到通知?

我需要它,因为我想在超时后调用 Web 服务来刷新数据并再次缓存结果。

谢谢,

Fabric

最佳答案

您真正需要的是在特定时间间隔提醒您刷新 Appfabric 缓存项。

您可以尝试将 AppFabric 缓存与 Microsoft Enterprise Library 中的缓存 block 结合使用。缓存 block 使您能够在项目即将过期时收到通知。但这会创建两个缓存。

将对象标识符存储在应用程序 block 提供的缓存中,并具有必要的超时间隔,而您可以将实际数据“放入”AppFabric 缓存中,而无需超时间隔。使用“放置”而不是“添加”以确保替换该对象(如果存在),否则创建它。

关于caching - AppFabric 超时通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7671932/

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