gpt4 book ai didi

asp.net - 如何防止 ASP.NET 从缓存中删除项目

转载 作者:行者123 更新时间:2023-12-02 03:57:19 29 4
gpt4 key购买 nike

我想将一个项目永久添加到缓存中。我使用以下语法:

HttpContext.Current.Cache.Insert(cacheName, c, null, Cache.NoAbsoluteExpiration, Cache.NoSlidingExpiration);

我发现 ASP.NET 有时仍然会从缓存中删除项目。

关于如何防止这种情况的任何想法(除了删除缓存和使用存储在静态成员中的字典之外?

马特拉

最佳答案

You can't prevent ASP.NET from removing items from the cache (e.g. when memory gets low).

You cannot ever completely prevent something from being removed from the ASP.NET Cache (i.e. the HttpContext.Current.Cache object) and this is very much by design.

错了!如果您使用 CacheItemPriority.NotRemovable 标记项目,则可以防止从 asp.net 缓存中删除您的项目。每个其他缓存数据(应用程序、 session 等)都以这种方式存储在 HttpRuntime 缓存中。

人们总是倾向于相信,即使这个优先级也不能防止您的数据过期,但这是由于缺乏适当的文档。我认为困惑来自于手动从缓存中删除此类项目的能力,或者由于为其设置的依赖项而被删除的项目。

因此,如果您从不手动删除它,也从不指定可以删除它的依赖项,那么您的项目在应用程序域的生命周期内都会保留在其中。

关于asp.net - 如何防止 ASP.NET 从缓存中删除项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1092590/

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