MVC:OutputCache和极慢的RenderPartial

时间:2012-03-02 08:28:55

标签: asp.net-mvc asp.net-mvc-3

我想为某些子操作添加缓存,因此我可以单独缓存单个页面的部分内容。

我需要使用相同的控制器方法来访问AJAX和RenderAction(或其他一些嵌入方法)。

我已将代码更改为使用RenderAction,并且我发现每个Html.RenderAction会在页面加载时间上增加大约1秒,当第一次加载速度太慢时 - 很难享受后续负荷的果实。

我在SO上看到了答案,建议远离RenderAction ......

那么,什么是回避RenderAction滞后的最佳策略,仍然能够缓存AND有一个我可以从HTML和AJAX调用的方法? (以及..在这种情况下如何处理缓存失效?)

1 个答案:

答案 0 :(得分:1)

什么是ajax在这做什么? 如果从ajax和ViewResult调用正常调用,你是否返回JSonResult?

尝试使用具有剃刀视图的RenderAction。剃刀引擎更快。 缓存结果时,渲染速度非常快(x1000)。

对于缓存,您使用的是[OutputCache]属性吗?如果是这样,你不能自己使缓存无效(或者我不知道它)。

或者你可能正在使用带有VaryByParam参数的OutputCache,这些参数会有效地增加内存中的缓存。

相关问题