问题标签 [cache-dependency]

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.

0 投票
1 回答
628 浏览

asp.net-mvc - .NET 跨平台缓存依赖

有人会推荐什么作为跨平台缓存依赖项?

我们的应用程序可能使用多个数据库平台(例如 MSSQL 和 MySQL),因此这排除了 Sql Cache Dependency。

我曾考虑过使用文件缓存依赖项,并在我的数据更改时只触摸文件。但是,如果我可以在 ASP.NET MVC 中将相同的文件缓存依赖项与输出缓存一起使用(OutputCache 属性只有 SqlDependency 的选项),这才是真正的好处。

非常感谢,本

[更新] 我们的目标是使用 .NET (System.Runtime.Caching) 的内置缓存功能,而不是任何外部缓存提供程序(AppFabric、Memcached 等)

0 投票
1 回答
92 浏览

.net - 如何缓存复合服务器控件?

如何使用系统缓存对象 HttpContext.Current.Cache 在缓存中存储自定义服务器控件?

目前我的代码如下所示:

这位于 OnInit 方法中。我的问题是:

  • 有没有更好的方法来放置缓存代码?
  • 您可以通过像上面那样传递对它的引用来缓存服务器控件吗?还是我需要缓存呈现的 html?

如何以编程方式缓存服务器控件的示例将不胜感激!谢谢。

0 投票
1 回答
604 浏览

asp.net-mvc-3 - 从自定义 VirtualPathProvider(ASHX 源)加载剃刀视图时的奇怪行为

当我通过我的自定义 VirtualPathProvider 加载数据时,我得到了一些奇怪的行为。值得一提的是,我正在尝试将此视图用作布局。

我还实现了一个自定义(虚拟)CacheDependency

现在有两件事不起作用。首先,所有加载的视图都被缓存,其次,文件内的代码(@Html.ActionLink ...等)不起作用,它只是给出一个错误“缺少程序集”。

有谁知道如何解决这两个问题?

已经有第二个问题(链接)的解决方案,但是我真的不明白如何在 FileExists 方法中解决这个问题。

谢谢!

更新:错误消息的图像 在此处输入图像描述

0 投票
1 回答
798 浏览

asp.net - session 中存储的值取决于 HttpRuntime 缓存中的值

我有所有用户通用的数据存储在HttpRuntime.Cache.

然后我在 Session 中存储了一些与用户相关的数据。

HttpRuntime.CacheCacheDependency机制,可以用来定义缓存中的项目之间的关系。

您将使用什么来处理 Session 和 Runtime Cache 之间的依赖关系?

除了 CacheDependencies,还有CacheItemRemovedCallback. 如果可能的话,我可以在此回调期间从每个会话中删除特定值。

0 投票
1 回答
2078 浏览

asp.net - 来自 2 个或更多其他缓存项的 CacheDependency。(ASP.NET MVC3)

我对 asp.net 中可能存在的缓存依赖关系感到有些困惑,我不确定如何使用它们。

我想以某种方式将项目添加到 HttpRuntime.Cache,如果我更改缓存中的其他元素,这些元素应该失效。依赖项应该由键定义。

我想要这样的功能:

帮我解决这个问题。

0 投票
1 回答
218 浏览

asp.net-mvc-3 - 为什么 CacheDependency 在创建后立即无效!(ASP.NET-MVC3)

每当我在测试平台中创建 CacheDependency 时,它都可以正常工作。

如果我写

dep 将是一个新的 CacheDependency,具有以下属性:HasChanged = false,UtcLastModified = 当前日期时间。

但不知何故,在我的一个项目中,同一行代码用 HasChanged = true, UtcLastModified = 1/1/0001 12:00:00 AM 实例化了一个缓存依赖项

默认情况下,此依赖项无效/无用。什么会导致这种情况?是否有可能是因为我没有直接在控制器中实例化依赖项,而是在我的一个对象的扩展方法中?

但是 HttpRuntime.Cache 在没有依赖关系的情况下可以正常工作。

如果您有任何想法可能导致此问题,请分享。

0 投票
3 回答
1577 浏览

c# - SQLCacheDependency 和 AppFabric 服务器

我有一种情况,我需要用一个新的替换我们当前基于文件的缓存依赖系统。我正在研究的是使用 AppFabric 进行缓存。我想知道表通知应用程序数据更新的 SQLDependencyCaching 技术是否适用于 AppFabric,就像它适用于内置缓存的 ASP.NET?

0 投票
2 回答
924 浏览

c# - Cache.Insert 的委托

我希望能够在我的缓存更新回调中传递我的实际解析函数。如何使用委托优化下面的代码重复?谢谢

0 投票
1 回答
256 浏览

sql-server - 变更跟踪——最简单的场景

我正在使用 ASP.NET C# 4 进行编码。数据库是 SQL Server 2012。

我有一个有 2000 行和 10 列的表。我想将此表加载到内存中,如果该表以任何方式更新/插入,我想从数据库中刷新内存中的副本。

我研究了 SQL Server 更改跟踪,虽然它可以满足我的需要,但似乎我必须编写相当多的代码才能从更改函数中进行选择——比我想要为我拥有的一个简单场景编写的代码更多。

这个问题的最佳(最简单)解决方案是什么?我要使用 CacheDependency 吗?

0 投票
0 回答
391 浏览

caching - 在 Web 场场景中使用 .NET MVC 4.0 VirtualPathProviders

我们有一个应用程序严重依赖于扩展 .NET System.Web.Hosting.VirtualPathProvider 架构的虚拟文件系统。我们使用链式搜索... (A)contentresourceprovider(扩展 virtualpathprovider) (B)assemblyresourceprovider (同上) (C)物理文件系统

vpp 像这样在应用程序初始化时注册...

这个问题与 ContentResourceProvider 相关(见下文)

基本上这一切都很好,每当我们通过我们的 cms 工具更新内容时,虚拟文件​​并从缓存中删除并重新打开/编译为剃刀视图。到目前为止一切都很好......但是我们最近将它部署到了一个服务器场,并且似乎整个固有的 System.Web.Hosting 虚拟文件提供程序无法扩展(显然)它与存储虚拟文件的特定服务器有关这意味着如果用户 A 通过 cms 工具对剃刀视图进行更改并且在服务器 A 上执行该操作,则用户 B 在服务器 B 上进行另一项更改将提供不希望的结果,尽管事实上内容来自同一个数据库。这是因为缓存剃刀视图的虚拟文件系统对于它们运行的​​ Web 服务器是唯一的,

我尝试过使用分布式缓存包,如 AppFabric、Memcached、NCache。这些还不够,因为它们依赖于您手动编写将序列化对象插入分布式缓存的代码。首先,.NET vpp 内存的东西在引擎盖下得到了有效的管理,并强制执行了严格的设计模式,而且 CacheDependency 类也不是可序列化的。

经过数小时的研究,我无法在网上找到解决方案。

当然,整个 .NET MVC 4.0 VirtualPathProvider/CacheDependency 系统架构必须有一种跨多台服务器扩展的方法?

我想根据我对此事的理解,我想问是否有办法在多个服务器上扩展 System.Web.Hosting 缓存内存,以便附加到这些文件的虚拟内容和缓存依赖项按预期工作?

任何帮助将不胜感激。