【问题标题】:Caching portions of page in MVC 5在 MVC 5 中缓存页面的部分
【发布时间】:2016-08-03 07:28:26
【问题描述】:

//Build/2016Daniel 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 中也有办法做到这一点?

【问题讨论】:

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


    【解决方案1】:

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

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

    这里有一篇关于该技术的好文章:

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

    一篇相当老的文章,但是,我相信这项技术仍然有效。

    【讨论】:

    • 非常感谢,我读过一篇关于这项技术的文章,但不是很清楚,我认为这不是正确的解决方案。这篇文章更清楚了,现在我明白了这个解决方案是如何在我的项目中实现的。
    猜你喜欢
    • 2011-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多