问题标签 [outputcache]

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 回答
5404 浏览

asp.net - 控制 ASP.NET 输出缓存内存使用情况

我想将输出缓存与 WCF 数据服务一起使用,尽管没有专门内置来支持缓存,但有一个 OnStartProcessingRequest 方法允许我使用普通的 ASP.NET 机制连接并设置请求的可缓存性。

但是我担心如果缓存大量响应,工作进程会由于过多的内存消耗而被回收。有没有办法为 ASP.NET 输出缓存指定上限,以便如果超过此限制,缓存中的项目将被丢弃?

我已经看到了缓存配置设置,但我从文档中得到的印象是,这是通过 Cache 对象进行显式缓存的,因为有一个单独的outputCacheSettings没有与内存相关的属性。

这是Scott Hanselman 帖子中的代码片段,显示了我如何设置请求的可缓存性。

0 投票
1 回答
224 浏览

asp.net - 输出缓存 - 为什么它似乎不起作用?

我有一个很大的用户控件,它创建了一个 ASP.NET 选项卡菜单,并且在每个选项卡中都有一组冗长的图标/菜单。菜单是从数据库动态创建的。我想我可以用输出缓存指令包装用户控件以加快速度。我将 OutputCache varybyparam="none" 和持续时间设置为 120 秒。

当我导航到我的页面时,包含选项卡菜单和图标等的用户控件就消失了?我认为 ASP.NET 应该提供一些以前会被缓存的 HTML。

那么为什么这不起作用呢?它似乎不像罐头上的标签所说的那样?!?;)

0 投票
1 回答
5416 浏览

c# - 带有 POST 控制器操作的 ASP.NET MVC OutputCache

我对OutputCache在 ASP.NET MVC 中使用该属性相当陌生。


静态页面

我已经在我的网站上的静态页面上启用了它,代码如下:

如果我理解正确,我将整个控制器缓存了 7200 秒(2 小时)。


动态页面

但是,它如何处理动态页面?通过dynamic,我的意思是用户必须在哪里提交表单。

例如,我有一个带有电子邮件表单的页面。这是该代码的样子:

如果我在这里将 OutputCache 应用到整个控制器会发生什么?

HTTP POST 表单提交会起作用吗?另外,我的表格有一个验证码;这会改变方程式中的任何东西吗?

换句话说,使用动态页面进行缓存的最佳方法是什么?

提前致谢。

0 投票
2 回答
357 浏览

asp.net - ASP.NET OutputCache 指令是否实际缓存或只是设置一些响应属性?

当有人在 ASP.NET WebForms/MVC 应用程序中使用OutputCache指令时,它实际上是否会在服务器端进行任何缓存,例如使用Cache还是仅在 Response 对象中设置一些属性,例如Cache-Control属性?

干杯:)

0 投票
2 回答
1999 浏览

asp.net - 为什么使用 ASP.NET OutputCache 不断返回 200 OK,而不是 304 Not Modified?

我有一个简单的 aspx 页面。这是它的顶部:-

现在,每次我在 FireFox 中点击页面(点击 F5 或在 url 栏中点击 enter)我都会收到 200 OK 响应。这是来自 FireBug 的示例回复:-

请求标头:-

响应标头:-

Firebug 缓存选项卡:-

现在,如果我使用请求生成器在 Fiddler 中尝试它(并且没有额外的数据),我也会不断收到相同的 200 OK 回复。

请求标头:-

响应标头:-

看起来它要求缓存它,但它不是:(

服务器是 Win7 上的 localhost IIS7.5。(如响应数据中所列)。

谁能看到我做错了什么?

0 投票
2 回答
429 浏览

asp.net - 大型站点的最佳 ASP.Net 缓存持续时间?

我已经阅读了很多关于如何进行 ASP.Net 缓存的材料,但很少了解应该缓存页面的最佳持续时间。

假设我有一个拥有 50,000 个页面的热门网站。内容不会经常更改,因此如果需要,我可以将页面缓存长达一个小时。服务器有 16 GB 的 RAM,但数据库连接受到限制。

页面应该缓存多长时间?

我的想法是,如果我将缓存持续时间设置得太高(比如 60 分钟),我会用总内容的一小部分来填满内存,这些内容将不断地进出内存。

此外,假设 10% 的页面负责 90% 的流量。如果热门页面每秒被点击一次,而不受欢迎的页面每小时点击一次,那么 60 秒的缓存只会缓存负载密集型内容而不会牺牲新鲜度。

是否应该缓存大量但很少访问的内容?

0 投票
2 回答
6214 浏览

.net - HTTP 处理程序和 SetValidUntilExpires 中的输出缓存

我通过以下方式在我的自定义 HTTP 处理程序中使用输出缓存:

它可以工作,但问题是尽管有最后一个代码行,但使用 F5 刷新页面会导致页面重新生成(而不是缓存使用):

有什么建议么?

UPD:似乎问题的原因是 HTTP 处理程序响应没有在服务器上缓存。以下代码适用于 web-form,但不适用于处理程序:

在服务器上缓存 http 处理程序响应是否有一些细节?

0 投票
3 回答
2239 浏览

asp.net - 是否可以迭代所有 OutputCache 键?

是否可以迭代 OutputCache 键?我知道您可以通过 HttpResponse.RemoveOutputCacheItem() 单独删除它们,但是有没有一种方法可以迭代所有键以查看集合中的内容?

我通过对象查看器搜索,但没有看到任何东西。

最坏的情况,我可以维护自己的索引。由于我通过 VaryByCustom 做所有事情,它们通过 global.asax 中的方法得到“喂养”。让我感到震惊的是,必须有一种更优雅的方式来做到这一点。

0 投票
1 回答
472 浏览

asp.net - ASP.Net Outputcache 以编程方式无法在部分视图中工作

以下代码在局部视图中不起作用。

谁能告诉我为什么?部分视图永远不会被缓存,也没有明显的原因。我应该编写代码来激活缓存吗?如何?

0 投票
2 回答
2522 浏览

sharepoint-2010 - 如何在 SharePoint Foundation 中启用输出缓存?

我正在使用 SharePoint Foundation 2010,并希望为某些页面或整个网站启用输出缓存。在 SharePoint Server 上,您有一种机制可以跨网站集启用页面输出缓存(它实际上是 ASP.NET 输出缓存)。在 SPF 上,您没有获得该功能 - 很公平。

那么如何启用输出缓存呢?在 ASP.NET 中,我只需添加一个页面指令 - 类似于 <%@ OutputCache Duration="30" %>。如果它在页面中,SharePoint 会引发错误。听起来它需要在代码中完成,也许会覆盖页面类?欢迎任何建议。