У меня есть сайт ASP .NET с пользовательской системой кэширования на стороне сервера, которая является кошмаром.Я хочу использовать eTag для замены.
Многие ссылки на сайте возвращают разные версии страницы в зависимости от состояния сеанса для пользователя.Пример - mypage.aspx? P = a вернет разные версии mypage - одинаково действительные, в зависимости от состояния сеанса.Я хотел бы кэшировать все версии.
Без полной переделки навигационных ссылок, как я могу это сделать?Из того, что я прочитал, добавление к каждому отдельному тегу eTag по мере их генерации и обслуживания в первый раз приведет к тому, что последняя сгенерированная версия будет признана недействительной и удалена из кэша.
PS Могу ли я использовать Response.Cache.VaryByHeaders ["Content-Length"] = true и полагаться на то, что каждая версия отличается по длине?
PPS Глупая идея!Как насчет добавления пользовательского заголовка с ключом версии к ответу и использования VaryByHeaders для этого.