问题标签 [output-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.

0 投票
1 回答
246 浏览

iis-7 - 输出缓存不缓存所有页面

我在一个按文件扩展名的目录中有一个缓存规则,并且该目录中有 2 个动态页面。

两者之间确实没有显着差异,它们都运行查询字符串,但是,由于某种原因,IIS 不想缓存其中一个,我不知道为什么。它完美缓存的页面之一,但另一个它没有。我在想这可能是由于输出文件大小,因为被缓存的页面总是在 256kb 以下,而另一个通常超过了,并且 256kb 是MaxCachedFileSize. 所以我根据ms的建议添加了以下注册表:

HKLM\System\CurrentControlSet\Services\InetInfo\Parameters\MaxCachedFileSize

我将其设置为 10485760 字节(10mb),因为默认为 256kb。仍然没有缓存。正如我所说,同一个目录中的另一个文件缓存很好,但另一个没有。不确定它可能是什么,服务器上几乎没有使用任何内存,所以我不认为这可能是内存空间不可用的问题。

另外,我读到在页面中发送 cookie 会导致 IIS 不缓存页面,但两个页面都没有发送 cookie。

0 投票
0 回答
1799 浏览

asp.net-mvc - 具有多个 VaryByParam 的 OutputCache

我的课是这样的

我的行动方法是

我希望 Varly By Param 随我的类搜索和页面的所有属性而变化

0 投票
1 回答
1227 浏览

asp.net-mvc - 从 MVC 控制器中删除 OutputCache

我一直试图弄清楚为什么 outputCache 在以下设置中没有被清除。

几乎我检查过的每个链接以清除 outputCacheItem 都说只调用 RemoveOutputCacheItem(string) 方法。但是我发现情况并非如此。我在调试器中得到该方法一次,它转到 ClearCacheName(),运行删除。之后我再也没有点击该方法,告诉我缓存被卡住了,因此结果集永远为空。

0 投票
2 回答
2726 浏览

asp.net-mvc - 如何在 ASP.NET MVC 中为特定控制器/操作破坏/清除 OutputCache


几个小时以来一直在努力解决这个问题。这是我要解决的问题:

我有这个使用 CacheProfile 的控制器/动作:

这是我的 web.config 设置:

到目前为止一切正常,缓存按预期工作!

问题出在我的页面上,我有一个小“刷新按钮”,用户可以单击它来获取最新数据。为此,我只是在用户点击刷新后从页面调用 $.ajax(),但我调用了另一个操作,因为如果我调用原始 ListOrders,我只会得到它的缓存副本。

这是我的问题。如果您看到我只是想破坏缓存并重定向到原始操作,它应该只是返回最新数据并更新缓存。但不管我做什么,它都不起作用!!!

事实上,这是我对现实中发生的事情的观察:

  1. 如果我继续重新加载页面,缓存工作正常,它显示最后一次检索项目的时间戳,这很棒。
  2. 如果我点击那个 ajaxrefresh 按钮,它会转到服务器,通过我的 cachebust 代码并简单地返回......即返回 RedirectToAction("ListOrders") 的调用永远不会进入该函数。
  3. 最后,ajaxcall 似乎为我创建了另一个缓存版本的操作。因此,在 ajax 调用完成后显示的时间戳是不同的时间戳,而当我重新加载页面时显示的时间戳也不同。

任何人有任何想法我做错了什么?我将非常感谢您的帮助,因为这让我发疯了!

0 投票
0 回答
939 浏览

azure - 带有 Redis 缓存的 outputCacheProfiles

我有一个 MVC Web 项目,我正在尝试使用本地运行的 redis 缓存为一些页面设置 OutputCache,最终托管在 azure 中。

我已经用我的ActionResult装饰了

并在我的 web.config system.web / 缓存下有以下内容

我的缓存提供程序已相应设置

我的缓存中没有任何条目。如果我将我的 ActionResult 装饰更改为

它有效,但我宁愿不必针对每种方法手动设置它。

任何关于为什么缓存配置文件被忽略以及如何解决的想法将不胜感激。

0 投票
1 回答
201 浏览

asp.net-mvc - NopCommerce - OutPutCaching 在父页面上不起作用

如果我申请[OutputCache(Duration = 600)]任何儿童行动[ChildActionOnly],它就可以了。但是如果在主要操作上应用缓存。每次我刷新页面时,它都会继续执行该操作。

我创建了一个新的控制器,它继承了 MVC“ BaseController”,而不是继承了 Nopcommerce“ BasePublicController”。但仍然没有运气。

现在,如果我创建一个全新的独立 MVC 项目缓存就可以了。

0 投票
0 回答
127 浏览

c# - 清除输出缓存是否清除所有缓存?

我已经在我的项目中使用名为“XYZ”和“ABC”的两个动作方法实现了输出缓存。请注意,两种方法的控制器都不同。

如果我将清除任何事件的动作“XYZ”的输出缓存,它是否也会清除另一个动作方法的缓存?或者我是否还需要清除第二种方法的缓存?我正在使用以下代码清除缓存:

请指教。

0 投票
1 回答
63 浏览

asp.net - 在服务器端代码上停止命中

Output cacheWebpart我的 ASP.Net 应用程序中使用。

并使用<%@ OutputCache Duration="86400" VaryByParam="None" VaryByCustom="ConferenceID" %>

我注意到 webpart 内容来自缓存,但我的服务器端代码也在运行该 webpart。意味着即使在使用输出缓存之后断点也会到达页面事件。

使用输出缓存后,如何停止我的服务器端代码不应在该 Web 部件上执行。

谢谢达尔维尔

0 投票
0 回答
480 浏览

c# - MVC 输出缓存在 1 分钟后过期

我已经为 Action 设置了一个输出缓存,如下所述。缓存时长设置为 3600 秒,但缓存每分钟刷新一次。任何帮助,将不胜感激。谢谢你。

0 投票
0 回答
315 浏览

asp.net-mvc - EPiServer 输出缓存无故清除

我们最近放置了实时 EPiServer 输出缓存,这在本地和我们的临时站点上都可以正常工作。由于某种原因,自从昨天上线以来,页面似乎并没有在缓存中停留很长时间,如果有的话。除了真正的流量之外,我看不到任何明显的原因吗?

为了实现缓存,我将 [ContentOutputCache] 添加到某些控制器的 get 方法中。然后使用以下内容更新应用程序设置:

uiUrl="~/EPiServer/CMS/" httpCacheExpiration="12:0:0" httpCacheVaryByCustom="path" httpCacheVaryByParams="id,epslanguage"

有没有人见过这样的事情。我无法弄清楚为什么缓存不断被丢弃。有趣的是,chrome 告诉我内容来自缓存,但页面加载时间有时超过 20 秒......其他时候它是即时的(当缓存工作时)。

我没有登录 CMS,也没有人发布任何内容。

请让我知道您是否需要更多信息,因为在此方面的任何帮助都非常感谢。

谢谢,