在MVC 5中缓存页面的部分

时间:2016-04-12 15:16:06

标签: asp.net-mvc caching asp.net-mvc-5 asp.net-core-mvc tag-helpers

// Build / 2016 Daniel Roth ,在ASP.NET Core Deep Dive into MVC期间讨论 TagHelpers 并显示Cache TagHelper 。 除其他外,此标记允许缓存页面的多个部分。

在我的项目(MVC5)中,我需要缓存一些页面,但我无法缓存所有页面,因为在布局视图中我有一些关于无法缓存的用户的数据。

以下是我需要做的一个例子:

<html>
    <head>
        <!--- Head code ---->
    <head>
    <body>
        <div id="page">

            <!--- This shouldn't be cached ---->
            <div id="top-menu">
                <!--- User Data ---->
            </div>

            <!--- This should be cached ---->
            <div id="page-content">
                <!--- Page Data ---->
            </div>

        </div>
    </body>
</html>

即使在MVC5中也有办法做这样的事情吗?

1 个答案:

答案 0 :(得分:2)

从快速阅读,听起来你需要甜甜圈缓存。这是一种为页面的部分而不是全部提供缓存的方法。

如果已将部分分成动作,则可以使用outputcache指令对这些部分进行缓存,以便每次都不执行它们。

以下是关于该技术的好文章:

http://www.adamriddick.com/2013/06/asp-net-mvc4-donut-caching-donut-hole-caching/

然而,相当古老的文章,我相信这种技术仍然存在。