Фильтр ответов ASP.NET MVC + атрибут OutputCache

Я не уверен, что это специфическая вещь для ASP.NET MVC или ASP.NET в целом, но вот что происходит. У меня есть фильтр действий, который удаляет пробелы с помощью фильтра ответов:

public class StripWhitespaceAttribute : ActionFilterAttribute
{
    public StripWhitespaceAttribute ()
    {

    }

    public override void OnResultExecuted(ResultExecutedContext filterContext)
    {
        base.OnResultExecuted(filterContext);

        filterContext.HttpContext.Response.Filter = new WhitespaceFilter(filterContext.HttpContext.Response.Filter);
    }
}

Когда используется в сочетании с атрибутом OutputCache, мои вызовы Response.WriteSubstitution для «кэширования пончиковых отверстий» не работают. Первый и второй раз, когда страница загружает обратный вызов, переданный в WriteSubstitution, вызывается, после этого они больше не вызываются до истечения срока действия кэша вывода. Я заметил это не только с этим конкретным фильтром, но и с любым фильтром, используемым в Response.Filter ... я что-то упустил?

Я также забыл упомянуть, что пытался сделать это без использования атрибута фильтра действий MVC, прикрепив его к событию PostReleaseRequestState в global.asax и установив там значение Response.Filter ... но все равно не повезло.

Ответы на вопрос(2)

Ваш ответ на вопрос