EPiServer [ContentOutputCache] - 在管理员登录时停止清除缓存



>最近我为我们的一个网站实现了[ContentOutputCache],在大多数情况下它很棒。当管理员登录到 CMS 时,缓存似乎停止工作。这可能是设计使然。是否有可能阻止这种情况的发生?我希望缓存仅在发布某些内容时刷新。

据我了解,登录的管理员和编辑将始终看到未缓存的信息。因此,当我想测试缓存时,我通常会打开两个不同的浏览器。在一个我已登录,在另一个我没有登录。如果您已登录,那么您通常希望查看最新信息,而不是缓存的信息。但是,当然,如果另一个普通访客与编辑者/管理员同时查看网站,那么普通访客仍将看到缓存的版本(直到编辑者或管理员保存一些更改)。

如果用户经过身份验证,并且出于很好的理由以这种方式创建输出缓存,并且尚未更改此行为,则输出缓存将被禁用。

如果不是这种情况,则可能导致未经授权访问受保护的内容。如果加载资源的第一个访问者已通过访问该资源的身份验证,则会发生这种情况。由于输出缓存通过绕过内容的生成来工作,这是它的全部意义所在,因此也不可能(非常困难)对用于生成该内容的每个项目运行身份验证检查。

此外,正如 @sam-m 所提到的,这不会影响缓存对其他未经身份验证的访问者的工作方式,这将导致我采取步骤并质疑首先需要管理员输出缓存的原因,特别是考虑到输出缓存仅用于提高负载下的性能。

最新更新