asp.net-mvc – Donut hole缓存 – 排除MiniProfiler.RenderIncl
发布时间:2020-12-15 20:52:12 所属栏目:asp.Net 来源:网络整理
导读:我有一个使用OutputCache属性修饰的ASP.NET MVC操作,但问题是MiniProfiler输出也被缓存.我想从缓存(圆环孔)中排除MiniProfiler输出,但我不确定如何排除像MiniProfiler.RenderIncludes()之类的调用. 谁碰巧知道我怎么做到这一点? 解决方法 如果在生产中使用M
我有一个使用OutputCache属性修饰的ASP.NET MVC操作,但问题是MiniProfiler输出也被缓存.我想从缓存(圆环孔)中排除MiniProfiler输出,但我不确定如何排除像MiniProfiler.RenderIncludes()之类的调用.
谁碰巧知道我怎么做到这一点? 解决方法
如果在生产中使用MiniProfiler,这一点非常重要.好像第一次访问页面是由启用了MiniProfiler的用户启动的,所有后续请求都将在DOM中包含MiniProfiler结果(因为它们现在被缓存).结果不仅不正确(因为他们只考虑首次加载),但所有访问者都能看到您的MiniProfiler结果.
首先,为了实现甜甜圈洞缓存,我正在利用: http://mvcdonutcaching.codeplex.com/ 这允许您添加在使用OutputCache时不会缓存的操作. 鉴于上述情况,您可以删除@using StackExchange.Profiling;从您的布局页面.然后你可以替换: @MiniProfiler.RenderIncludes() 附: @Html.Action("MiniProfiler","DoNotCache",excludeFromParentCache: true) 我创建了一个DoNotCache控制器,因此我的所有非可缓存元素都在一起,但这不是必需的,您可以将此操作放在任何控制器中. public ActionResult MiniProfiler() { return View(); } 然后视图本身看起来像: @using StackExchange.Profiling; @{ Layout = null; } @MiniProfiler.RenderIncludes() 这将确保MiniProfiler结果在适当时显示,并且即使在使用DonutOutputCache批注的位置也不会在生产中缓存. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – Response.TrySkipIisCustomErrors不工作
- asp.net Xml绑定到数据控件的具体实现
- ef-code-first – 如何通过使用Identity ASP.NET MVC的代码
- asp.net-mvc – 在TDD和DDD中,你如何处理假货中的只读属性?
- asp.net-mvc-3 – 我是否需要在DisplayFor / EditorFor中使
- asp.net-mvc-2 – iframe,跨域Cookie,p3p策略和safari,其中
- asp.net – 图像文件正由另一个进程使用
- asp.net – .NET中的堆栈溢出将IIS发送到100%的CPU使用率
- 如何检测当前应用程序池是否在IIS7.5和Asp.Net 3.5中清理
- asp.net-mvc – 为什么不在ASP.NET MVC项目的Content文件夹
推荐文章
站长推荐
- asp.net – 如何解决“Chunked body没有正确终止
- asp.net-mvc – SelectList选择的值未转移到Drop
- 使用LINQ生成Where的SQL语句
- asp.net – asp .net mvc 4下拉列表
- asp.net-mvc – ASP MVC中的自定义错误处理
- asp.net-mvc – 实体框架中的字段最大长度
- asp.net-mvc-2 – 强大类型的ActionLink在Asp.Ne
- yield在WCF中的错误使用——99%的开发人员都有可
- asp.net-web-api – owin cors或web api cors
- asp.net-mvc – 如何在扩展方法中使用HTML帮助器
热点阅读