Diskuze: Response cache
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 3 zpráv z 3.
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
co znamená atribut ResponseCache
Atribut ResponseCache se podílí na zajištění cachovacích headrů při komunikaci se serverem.
Pokud vytváříš API nebo klasický MVC, použij nástroj jako například Postman. Vyšli požadavek na server a v části Headers tě zajímá tento klíč:
Cache-control: (jako hodnoty / direktivy, budou další argumenty atributu ResponseCahce, což mohou být např. max-age, no-cache, no-store, lokace atd.)
výsledky z akce ukládají buď na server nebo ke klientovi a nebo obojí?
Dalším z argumentů ResponseCache() je enumerace ResponseCacheLocation, která může nabývat hodnot:
Any = cache bude aplikován jak na serveru, tak i na
klientu.
Client = cache bude pouze na straně klienta
None = bez cache
Pokud to není u akce zadáno jaký se používá defaultní?
Výchozí cache je tzv. in-memory, který využívá zdrojů tvého serveru.
co přesně znamená vlastnost NoStore.
no-store direktiva je jednou z hodnot Cache-control headerů. Zakáže cache jak požadavku tak i odpovědi.
Všechno dohromady v příkladu:
[ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
public class HomeController : Controller
{
// ...
}
Tento zápis je ekvivalentí hlavičce požadavku na server:
Cache-control: "max-age=0;no-store;no-cache"
Jinými slovy: Pro každý požadavek na home controller se neaplikuje žádný cache ani na straně klienta, ani na straně serveru.
Zobrazeno 3 zpráv z 3.