IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Petr Klekner
Člen
Avatar
Petr Klekner:30.3.2019 19:51

Zdravím programuji v .net core a chtěl bych se ujistit, co znamená atribut ResponseCache. Chápu dobře, že je to že se výsledky z akce ukládají buď na server nebo ke klientovi a nebo obojí? Pokud to není u akce zadáno jaký se používá defaultní? A co přesně znamená vlastnost NoStore. Předem všem strašně děkuji za rady

Zkusil jsem: Našel jsem to v angličtině, takže doufám že tom ualespon zhruba rozumím. O té defaultní jsem se nic nedočetl

Chci docílit: Pochopit to

 
Odpovědět
30.3.2019 19:51
Avatar
Ilja Židkov
Člen
Avatar
Ilja Židkov:30.3.2019 21:30

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 ResponseCache­Location, 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.

Akceptované řešení
+20 Zkušeností
Řešení problému
 
Nahoru Odpovědět
30.3.2019 21:30
Avatar
Petr Klekner
Člen
Avatar
Odpovídá na Ilja Židkov
Petr Klekner:31.3.2019 0:33

Mockrát ti děkuju

 
Nahoru Odpovědět
31.3.2019 0:33
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.