ASP.NET output caching tillader ikke caching af en side i browseren med mindre en obskur og knap så intuitiv metode bliver kaldt.
Der var en bug i ASP.NET 1.0 hvor output cachede sider, som specifikt brugte <@OutputCache Location="ServerAndClient" > ved en fejl blev tildelt en “Vary:*” HTTP header. Det havde den effekt, at browseren aldrig cachede siden lokalt.
I ASP.NET 1.1 blev der lavet et fix til netop dette issue og der blev derfor tilføjet en ny metode (System.Web.HttpCachePolicy.SetOmitVaryStar) som udviklere kunne bruge for at modarbejde den tidligere bug. Microsoft slog ikke buggen ihjel da teamet mente det ville skabe “a breaking change” så derfor lavede de dette fix.
I ASP.NET 4.0 kunne teamet dog godt tænke sig at fix roden på problemet ved simpelthen at eliminere den omstridte “Vary:*” header.
Hvis nogle af jer bruger System.Web.HttpCachePolicy.SetOmitVaryStar så bliver i ikke negativ berørt. Kaldet til SetOmitVaryStar vil ganske simpelt ikke betyde noget “behind the scenes”.
Dog skal man være opmærksom på, at man ikke længere kan stole på “Vary:*” når altså <@OutputCache Location="ServerAndClient"> optræder på en side. Til jer som gerne vil bruge “Vary:*” headeren, i kan tilføje den ved at kalde HttpResponse.AddHeader.