1

//Build/2016上,Daniel RothASP.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 中也有办法做这样的事情吗?

4

1 回答 1

2

通过快速阅读,听起来您需要 Donut Caching。这是一种为页面的一部分而不是全部提供缓存的方法。

如果你已经将你的部分分离成动作,你可以使用 outputcache 指令来缓存它们,这样它们就不会每次都被执行。

这是关于该技术的一篇很好的文章:

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

相当古老的文章,然而,我相信这项技术仍然有效。

于 2016-04-12T15:41:36.253 回答