Я реализую выходное кэширование, в частности, подстановку после кэширования, но мне нужно исключить из кэша любую информацию, относящуюся к текущему пользователю (Donut Caching).
Код для добавления информации, специфичной для пользователя, выглядит следующим образом:
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
связанный с управляемым обратным вызовом замены после кэша, или
управляемый фильтр изменил ответ.
Я идентифицировал управляемый модуль OutputCache в IIS как проблему. Как только он был удален, все работало отлично.
Хотя это сработало, я устал от любых "ошибок", которые могут возникнуть в результате удаления модуля OutputCache.
Удалит ли удаление модуля IIS OutputCache какой-либо прирост производительности, достигнутый за счет кэширования вывода?
Есть ли какие-либо другие последствия, о которых мне нужно знать?