我正在实现输出缓存,特别是后缓存替换,但是需要从缓存中排除特定于当前用户的任何信息(甜甜圈缓存)。
添加用户特定信息的代码如下:
public static void RenderUserSpecificInformation(this System.Web.Mvc.HtmlHelper helper)
{
var context = helper.ViewContext.HttpContext;
context.Response.WriteSubstitution([USER SPECIFIC INFORMATION]);
}
但是,一旦我运行该网站,就会收到以下错误消息:
后缓存替换与IIS中的模块不兼容 集成的管道,用于修改响应缓冲区。要么是本地人 管道中的模块已修改HTTP_DATA_CHUNK结构 与托管的后缓存替换回调相关联,或者 托管过滤器已修改响应。
我确定IIS中的OutputCache托管模块是问题所在。删除后,一切运行正常。
尽管这可行,但我对删除OutputCache模块可能导致的任何“陷阱”感到厌倦。
删除IIS OutputCache模块是否会抵消通过输出缓存获得的任何性能提升?
我还有其他需要注意的后果吗?