问题标签 [system.web.caching]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net - 使用泛型进行巧妙的缓存?
在 System.Web.Caching.Cache 类之上是否有任何聪明的层来处理使用泛型获取项目的简单场景。
我可能想提供一个委托函数来检索一个项目,并且能够使用强类型 GetItem 和一个委托函数来获取一个项目,如果它没有找到的话。
例如
我还想要一种处理只处理单个对象的缓存的好方法。
ASP.NET Cache 对象看起来非常原始。它看起来就像一个带有超时的哈希表。对于我所关心的,他们不妨将其称为 HashtableWithTimeout。我想要一些更好的吸引力。这是缓存应用程序块将为我做的事情吗?
是的,我知道这是相当简单的代码,我现在只是没有时间重新发明任何轮子。
.net - Cache.Add 绝对过期 - 是否基于 UTC?
Cache.Add的示例用于计算DateTime.Now.Add
过期时间,即通过:
作为absoluteExpiration
参数的值。
我曾认为相对于它的计算DateTime.UtcNow
会更正确[因为如果夏令时开始于现在和到期点之间的中间时间,则没有歧义]。
在引入DateTimeKind
.
在 .NET 2.0 及更高版本中,我猜测它应该正确处理DateTime
计算,DateTime.UtcNow.AddSeconds(60)
因为它必须DateTime.Kind
在其推理中用作输入。
多年来,我一直自信地使用DateTime.UtcNow
它作为基础,但在没有任何东西指出文档在 4 年多来一直高度误导的情况下,这绝对是正确的做法。
问题?
- 尽管有很多狂欢和谷歌搜索,但我无法从 MS 找到任何关于此的权威讨论 - 任何人都可以找到有关此的内容吗?
- 为什么使用 UtcNow 不会更正确和/或更安全?
(是的,我可以仔细阅读源和/或 Reflector 的源,但我正在寻找一个完整的逐个打击的内幕!)
c# - System.Web.Caching.Cache.NoSlidingExpiration in asp.net c#
请告诉我System.Web.Caching.Cache.NoSlidingExpiration
在 ASP.NET 中的情况。
asp.net - System.Web.Caching.Cache 似乎没有按时刷新自己?
我System.Web.Caching.Cache
在我的网站使用的程序集中使用。我已将一些密钥过期(绝对过期)设置为 10 秒(仅用于调试)。我还设置了删除键时的回调。
问题是我看到缓存在大约 20 秒而不是 10 秒后被刷新。
我正在使用HttpRuntime.Cache
这个。
关于为什么会发生这种情况的任何建议?
我想展示一个代码示例,它可以提供更多信息:
在这里,我使用了Page.Cache
. 更新应该是每 3 秒。实际上它每 40 秒执行一次,如下面的打印输出所示:
Updated Cache at 1/28/2011 1:38:20 AM
Updated Cache at 1/28/2011 1:38:40 AM
Updated Cache at 1/28/2011 1:39:00 AM
Updated Cache at 1/28/2011 1:39:20 AM
Updated Cache at 1/28/2011 1:39:40 AM
Updated Cache at 1/28/2011 1:40:00 AM
Updated Cache at 1/28/2011 1:40:20 AM
Updated Cache at 1/28/2011 1:40:40 AM
Updated Cache at 1/28/2011 1:41:00 AM
Updated Cache at 1/28/2011 1:41:20 AM
Updated Cache at 1/28/2011 1:41:40 AM
Updated Cache at 1/28/2011 1:42:00 AM
Updated Cache at 1/28/2011 1:42:20 AM
Updated Cache at 1/28/2011 1:42:40 AM
可能是什么问题呢 ?
asp.net-mvc-2 - 如何检查缓存(System.Web.Cache)中是否存在项目?
你好,
要检查密钥是否已存在于缓存中,我应该能够执行以下操作:
然而这不起作用?如果我从 Cache 类创建一个实例,我将能够以这种方式获取对象:
但即使我像这样检查 null :
它会抛出 NullRefException 吗?
我究竟做错了什么?
编辑1:
这就是我实例化缓存的方式
visual-studio-2005 - 在运行 IIS 5.1 的 XP 上使用 Web.Caching 不可用?
环境:我在 IIS6 上运行的 ASP.Net 2.0 网站上工作;我正在使用 VS2005 和 VB 在运行 IIS 5.1 的 WinXP 上进行本地开发。
问题:我正在尝试使用 System.web.caching.cache 为某些业务层对象(实际上是创建一个缓存层)创建缓存。这应该在 System.Web 命名空间下可用,但我似乎可以访问的是:AspNetHostingPermission、AspNetHostingPermissionAttribute 和 AspNetHostingPermissionLevel(我在项目中引用了 System.Web 并在类中导入)。还有很多其他类(例如,HTTPRuntime)也没有出现(这是根据“使用 SQL 缓存依赖项”教程http://www.asp.net/web-forms/tutorials/data-access/caching -data/using-sql-cache-dependencies-vb)。
我已经走到了尽头,似乎找不到任何东西来解释这一点。有没有人遇到过这种情况并且以前见过这种情况?非常感谢任何帮助解决这个问题!
asp.net - 跨应用程序的 ASP.NET MemoryCache 共享
我一直在阅读有关从 .Net Framework 4.0 开始的新 MemoryCache 类的信息。根据我的阅读,您可以跨不同的 .Net 应用程序访问 MemoryCache。我正在尝试在 Asp.Net 应用程序和标准 Windows 窗体 .Net 应用程序之间共享一个对象。如果我将对象添加到 .Net 应用程序中的 MemoryCache,Asp.Net 应用程序看不到它。有没有办法做到这一点?感谢您的宝贵时间,非常感谢。
Windows 窗体应用程序:
ASP.NET 应用程序:
谢谢 - 瑞安
c# - System.Web.Caching 和 System.Runtime.Caching 组合的内存使用行为
我有一个遗留应用程序,相当大,它同时实现了 System.Web.Caching 和 System.Runtime.Caching。是的,没错,在同一个应用程序池中运行的服务可以使用其中任何一个。
我的问题是,就内存限制而言,这些将如何相互作用?根据我的阅读,MemoryCache 的默认限制是可用内存的 60%,这很棒。我想更直接的问题是 System.Web.Caching 实例是否共享相同的 60% ?
我还有一个 MemoryCache 的命名实例,限制为 100mb。
我想了解的是,如果或当 System.Web.Caching 被填满并强制弹出时,我的 MemoryCache 实例会发生什么?
asp.net - 一段时间后 Web 缓存消失
我有如下代码。当我第一次打开页面时,我从查询中获取数据,随后打开页面时,我从缓存中获取数据并且查询没有运行。但是当我稍后打开页面时,比如 2 小时后,我没有从缓存中获取数据,而是查询再次运行......如果绝对过期设置为 26 小时以上,为什么缓存之后不再可用2小时?我在这里想念什么?有一些全局参数来配置 IIS 或类似的最大缓存时间?
asp.net - Web 缓存在一段时间后丢失
我有如下代码。当我第一次打开页面时,我从查询中获取数据,随后打开页面时,我从缓存中获取数据并且查询没有运行。但是当我稍后打开页面时,我没有从缓存中获取数据,而是查询再次运行......已经将应用程序池配置为不回收并确认这没有发生寻找 w3wp.exe 进程开始时间。由于缓存数据不存在,这是否意味着应用程序域已回收?或者可能是另一个原因?如何识别应用程序域是否已回收以及原因是什么?