问题标签 [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 投票
4 回答
16884 浏览

asp.net - 过期输出缓存 ASP.Net MVC

我在我的 MVC 应用程序中使用标准的 outputcache 标记,效果很好,但我需要强制它在某些时候被转储。我如何实现这一目标?被缓存的页面是从一个非常简单的路由 {Controller}/{PageName} 构建的 - 所以大多数页面都是这样的:/Pages/About-Us

为了清楚起见,这是位于我的 .aspx 视图页面顶部的输出缓存标记:

因此,在更新内容的同一控制器上的另一个操作中,我需要转储此缓存,甚至转储所有缓存 - 这是一个非常小的应用程序,因此转储所有缓存项目并不是什么大问题。

0 投票
1 回答
411 浏览

c# - 有没有办法在允许不区分大小写的 URL 的同时避免重复的页面缓存条目?

如果我有一个带有输出缓存的页面(我们称之为Employees.aspx),它接受一个名为Company的参数(通过查询字符串),如下所示:

如何避免不同大小写 URL 的重复页面缓存条目,例如:

我通过 OuputCaching 指令启用了输出缓存,如下所示:

有没有办法以编程方式设置这个特定请求的“唯一缓存键”应该是什么

0 投票
3 回答
2156 浏览

c# - Asp.Net OutputCache 和过期

我在包含用户控件的页面上使用 Asp.net OutputCache,在某些情况下,当编辑用户控件时,我希望能够使页面缓存过期并使用新数据重新加载页面。

有什么办法可以从用户控件中做到这一点?

如果没有,还有哪些其他缓存页面的方法可以让我以这种方式进行编辑。

- - - - - - 编辑 - - - - - -

经过更多研究,我发现了一种似乎效果很好的方法。

这将为页面缓存对象添加一个依赖项,然后过期我这样做:

现在只要知道依赖缓存键,页面就可以过期。

0 投票
1 回答
1844 浏览

asp.net - 我可以使用 ASP.NET 的“OutputCache”控件缓存图像而不会影响性能吗?

我有一些动态生成图像的 ASP.NET MVC 操作(尽管它同样可以是 ASPX 页面)。

我正在使用 [OutputCache] 缓存这些图像。我只是想知道是否需要担心 ASP.NET 在内存中缓存图像并占用太多资源。这些是仅包含几十种产品的购物车的不同尺寸的产品图像。

OutputCache 将使用磁盘还是仅在内存中?它有多智能?还是我应该自己将图像保存到磁盘并实现我自己的缓存系统(这实际上是当前的实现)?

0 投票
3 回答
30973 浏览

asp.net - 在 ASP.NET 中强制缓存过期的最佳方法是什么?

假设我有一个 ASP.NET 应用程序在负载平衡器后面的多个 Web 服务器上运行:

我可以吗:

  • 强制 OutputCache(页面和/或控制级别)全局过期?

  • 强制数据缓存(即 Cache.Insert)过期?

  • 从中央位置监控 ASP.NET 缓存使用情况(密钥、RAM 等)?

一种可能的解决方案是让缓存的每次使用都检查文件依赖关系是否有更改。可以触摸该文件,这将使所有缓存过期。但是,这要求开发人员在他们的所有代码中都包含依赖项。他们是更好的解决方案吗?

0 投票
3 回答
4798 浏览

asp.net-mvc - How best to work with the Expires header in ASP.NET MVC?

I want to be able to set a long expires time for certain items that a user downloads via GET request.

I want to say 'this is good for 10 minutes' (i.e. I want to set an Expires header for +10 minutes). The requests are fragments of HTML that are being displayed in the page via AJAX and they're good for the user's session. I don't want to go back to the server and get a 304 if they need them again - I want the browser cache to instantly give me the same item.

I found an article which is almost a year old about MVC Action filter caching and compression. This creates a custom ActionFilter to change the expires header. I'm already using the compression filter which works great for some custom css I am generating (94% compression rate!).

I have two main concerns :

1) Do I really have to use this method. I'm fine with it if I do, but is there really no functionality in MVC or the OutputCache functionality to do this for me? In 'traditional' ASP.NET I've always just set the Expires header manually, but we cant do that anymore - at least not in the controller.

2) If I do use this filter method - is it going to interfere with the OutputCache policy at all - which I want to be able to control in web.config. I'm kind of thinking the two are mutually exclusive and you wouldn't want both - but I'm not completely sure.

0 投票
2 回答
6956 浏览

asp.net - 缓存策略,输出缓存与数据缓存还是两者兼而有之?

我正在开发一个 ASP.NET MVC 项目,并且已经到了要开始考虑缓存策略的地步。我试图让我的框架尽可能开放,以便在缓存中使用。

根据我在 Scott Hanselman 的播客中听到的内容,StackOverflow.com 使用页面输出缓存并将该内容压缩并放入 RAM。听起来这对于用户范围的缓存非常有用,但对于个性化页面之类的内容,您必须为每个用户缓存一个版本,这可能很快就会失控。

因此,对于缓存策略。应该使用哪个,输出缓存、数据缓存还是结合使用?我的第一个想法是两者,但就缓存依赖项而言,它听起来可能会有点复杂。

0 投票
2 回答
2065 浏览

c# - ASP.NET 图表和用户控制输出缓存

我在用户控件中使用新的 asp.net 图表控件。我尝试使用输出缓存指令将用户控件缓存 30 秒。缓存是自定义的,具体取决于登录的用户。

缓存控件时图表数据丢失。我每 30 秒看到一次图表,但中间没有任何时间。我是否缺少一些用于 asp.net 图表控件的缓存选项?

谢谢,

马丁。

0 投票
1 回答
1790 浏览

asp.net - 使用带有输出缓存的 ASP.NET AJAX UpdatePanel

有没有办法让 UpdatePanel 控件与输出缓存很好地配合使用?我想使用 @OutputCache 指令缓存整个 ASP.NET 页面,UpdatePanel 区域除外。

0 投票
2 回答
6781 浏览

asp.net-mvc - 带有 MVC RC 刷新的 VaryByParam="None" 的 OutputCache 错误

在使用 ASP.NET RC 刷新VaryByParam=""不是VaryByParam="None".

缓存工作,但页面http://www.yoursite.comhttp://www.yoursite.com/home/index似乎将被单独缓存。

VaryByParam=""和 和有什么不一样VaryByParam="None"

编辑:我的意思VaryByParam=""不是 VaryByParam="*" 因为 VaryByParam="*" 的错误仍然存​​在