仅为后台禁用宏缓存

Disable macro caching only for backoffice

我只需要为我的后台禁用宏缓存。我该怎么做?

我的页面上有一些宏,我已经为它们启用了宏缓存。但我不希望后台是一样的,并缓存。

现在每次我想访问它时它都会缓存页面的宏,无论我是在后台还是在 public 视图上,它都会给我缓存的版本。

不幸的是,缓存要么打开要么关闭,必须在宏本身上设置,我认为没有办法只为后台改变它。

您可以通过让宏调用局部来绕过它,并通过调用另一个缓存的局部来在局部中进行缓存。在第一部分中,您可以通过检查部分是否由宏预览呈现来检查您是否在后台办公室,如下所示:

if (Request.Url.ToString().Contains("GetMacroResultAsHtmlForEditor"))
{
    //do something that avoids that cache here
}
else
{
    //do something cached here
}