我当前正在对一个操作使用OutputCacheAttribute (在System.Web.Mvc中):
[ChildActionOnly]
[OutputCache(Duration = 24 * 60 * 60)] // Cache for 24 hours
public ContentResult Render(string json, string pagePublished)
{在第一个页面加载之后,它缓存输出并保存它。它有时会被缓存几个小时,有时甚至几分钟。
我在多个页面上使用此操作,因此首先我认为它可能与此有关。但我试着只缓存一个页面,看看它是否能支持,但它不能。我尝试过缓存很多页面,但有时会持续几个小时。
有谁知道哪里会出问题吗?
编辑:
w3wp进程使用大量内存(这是设计出来的,不是问题),还有空闲内存(大约5 5gb)可供分配。我构建了另一个操作来获取httpcontext缓存的当前大小。这相当于大约1350000字节。所以内存应该不会有问题。
我也有一个MemoryCache的问题,它也会随机地驱逐项目(大约8530000字节)。
EDIT2:
它似乎将动作的输出保存在MemoryCache和httpcontext缓存中。
发布于 2013-01-09 20:44:45
不能保证在您指定的时间量内缓存内容。当内存资源变得不足时,缓存将自动开始逐出内容。
https://stackoverflow.com/questions/14235283
复制相似问题