MVC 3 中的输出缓存 _ViewStart.cshtml 和 _Layout.cshtml
我正在尝试缓存 MVC 3 _ViewStart 和 _Layout 页面,我是否认为默认情况下不会缓存这些页面?问题是 Web 服务器或 IIS 中的 VS bult 应该在这些站点母版页中缓存我的图像,但它似乎每次都会加载它们。
我可以将 OutputCache 属性放在控制器上,但不能放在上面的这些页面上,因为它们没有控制器。是否可以?
I am trying to cache the MVC 3 _ViewStart and _Layout pages, am I right in thinking these are not cached by default? The problem is the VS bult in web server or IIS should be caching my images in these site master pages but it seems to be loading them everytime.
I can put OutputCache attributes on controller but I can't on these pages above as they have no controllers. Is it possible?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
_ViewStart
和_Layout
只是最终标记的组成元素。因此,通过在某些控制器操作上使用[OutputCache]
属性,您可以缓存从此操作生成的整个 HTML(包括视图),而且实际上您也可以缓存这些元素。不幸的是 ASP.NET MVC 3 不支持 甜甜圈缓存。它仅支持甜甜圈孔缓存。我想这将在未来的版本中得到改进并添加支持。
_ViewStart
and_Layout
are only composing elements of the final markup. So by using the[OutputCache]
attribute on some controller action you are caching the entire generated HTML from this action, including the view, and you are in fact caching those elements as well.Unfortunately ASP.NET MVC 3 doesn't support Donut Caching. It supports only Donut Hole Caching. I guess this is something that is going to be improved and added support to in future versions.