A cookiek kezelésére több módszer is van és a JavaScript segítségével a legtöbb esetben a kliens oldalon vesszük hasznát de előfordul, hogy a back-endben is használjuk.
Mielőtt belevágunk tisztáznunk kell a Response és Request objektumot feladatait (persze csak röviden és elnézést azoktól, akik jól ismerik :) )
A cookiekat az említett két objektummal tudjuk majd elérni és értelemszerűen a Response-al a szerver felől küldünk egy választ a kliens felé, amíg a Request egy kérést fogunk fogadni a kliens felől!
Könnyen kitalálható ezek után, hogy a Response segítségével fogjuk majd létrehozni a sütinket a kliens oldalon és a Request segítségével fogjuk tudni elérni!
Ennek a két objektumnak több függvénye és propertije van, de ezekkel most nem foglalkozunk, talán egy másik bejegyzésben majd. :D
A legegyszerűbb mód - ami mindekinek egyértelmű lehet:
Response.Cookies["sütiNeve"].Value = "süti értéke";
Response.Cookies["sütiNeve"].Expires = DateTime.Now.AddDays(1);
A cookiekat minden esetben a Response objektum segítségével fogjuk létrehozni, valamint a sütikből egy gyűjteményt hozunk létre (na ezt írja le valaki egy kezdőnek :D - nem nagyon szeretném vegyíteni a szakmai angolt a magyarral :( ) egy Value és egy Expires tulajdonsággal. A value-ba tároljuk majd a süti értékét, illetve az expires-ban a lejárati dátumot (jelen példában ez 1 nap lesz).
Programozói és ípusosság szempontjából kényelmesebb - legalábbis nekem - ha a System.Web névtér HttpCookie objektumát használjuk.
HttpCookie aCookie = new HttpCookie("lastVisit"); //készítünk egy példányt, a konstruktor paraméterébe pedig a cookie neve fog kerülni!
aCookie.Value = "süti értéke"; //a cookie értéke
aCookie.Expires = DateTime.Now.AddDays(1); //a cookie lejárati dátuma, ideje
Response.Cookies.Add(aCookie); //a kliens oldalon létrejön a cookienk
A második eset már szebben néz ki, van típusunk, pédányunk, propertynk.
A Response hívása is másképp történik de hatás ugyanaz: létrehozni a cookiet a kliens oldalon.