Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 圆环孔缓存-排除MiniProfiler.RenderIncludes_Asp.net Mvc_Mvc Mini Profiler_Donut Caching - Fatal编程技术网

Asp.net mvc 圆环孔缓存-排除MiniProfiler.RenderIncludes

Asp.net mvc 圆环孔缓存-排除MiniProfiler.RenderIncludes,asp.net-mvc,mvc-mini-profiler,donut-caching,Asp.net Mvc,Mvc Mini Profiler,Donut Caching,我有一个ASP.NET MVC操作,它用OutputCache属性修饰,但问题是MiniProfiler输出也被缓存。我想从缓存中排除MiniProfiler输出(甜甜圈洞),但我不确定如何排除MiniProfiler.RenderIncludes()之类的调用 有谁知道我如何做到这一点吗?如果在生产中使用MiniProfiler,这一点很重要。就像启用了MiniProfiler的用户第一次访问页面一样,所有后续请求都将在DOM中包含MiniProfiler结果(因为它们现在被缓存)。结果不仅是

我有一个ASP.NET MVC操作,它用
OutputCache
属性修饰,但问题是MiniProfiler输出也被缓存。我想从缓存中排除MiniProfiler输出(甜甜圈洞),但我不确定如何排除MiniProfiler.RenderIncludes()之类的调用


有谁知道我如何做到这一点吗?

如果在生产中使用MiniProfiler,这一点很重要。就像启用了MiniProfiler的用户第一次访问页面一样,所有后续请求都将在DOM中包含MiniProfiler结果(因为它们现在被缓存)。结果不仅是错误的(因为他们只考虑第一次加载),而且所有访问者都能看到你的迷你轮廓仪结果。 首先,为了启用圆环孔缓存,我使用了:

这允许您添加在使用OutputCache时不会缓存的操作

鉴于上述情况,您可以使用StackExchange.Profiling删除
@从布局页面。然后,您可以替换:

@MiniProfiler.RenderIncludes()
与:

我已经创建了一个DoNotCache控制器,所以所有不可缓存的元素都在一起,但这不是必需的,您可以在任何控制器中放置此操作

 public ActionResult MiniProfiler()
 {
      return View();
 }
然后视图本身看起来就像:

@using StackExchange.Profiling;
@{
    Layout = null;
}
@MiniProfiler.RenderIncludes()

这将确保在适当的时候显示MiniProfiler结果,即使在使用
DonutOutputCache
注释的地方,也不会在生产中缓存结果。

这有关系吗?如果页面来自输出缓存,那么操作和控制器不会被调用,所以探查器不会显示任何内容,不是吗?这对于服务器端来说是一个非常好的观点,但是MiniProfiler也会输出有关DOM中加载时间等的信息,这会很有趣。谢谢-我将再次研究。
@using StackExchange.Profiling;
@{
    Layout = null;
}
@MiniProfiler.RenderIncludes()