ASP.NET fornisce un supporto completo ai cookie. Quando si riceve una risposta dal server, i cookie sono inviati al client mediante l’oggetto Page.Response, che espone la proprietà Cookies: è necessario aggiungere a questo insieme tutti i cookie che si desidera inviare al browser. Ad esempio:
HttpCookie cookie = new HttpCookie("Utente"); cookie.Expires = DateTime.Now.AddDays(5); cookie["ID"] = "543"; cookie["UltimaPagina"] = "news.aspx"; Response.Cookies.Add(cookie);
In questo caso viene creato un cookie di nome Utente, valido per un periodo di 5 giorni, quindi al suo interno si creano due proprietà, ID
e UltimaPagina
. Infine, esso viene aggiunto alla collezione Response.Cookies
.
I cookie così definiti sono automaticamente inviati al server quando si effettua la richiesta di una pagina e sono accessibili attraverso la proprietà Cookies
dell’oggetto Page.Request
. Ad esempio, per leggere il cookie definito in precedenza si deve scrivere qualcosa del tipo:
if (Request.Cookies["Utente"] != null) { HttpCookie cookie = Request.Cookies["Utente"]; Response.Write("L'ultima pagina visitata è " + cookie["UltimaPagina"]); }
Dapprima si controlla che il cookie Utente sia presente e, in caso positivo, da esso si estrae il contenuto della proprietà UltimaPagina
.
Infine, se si vuole eliminare un cookie, poiché è impossibile cancellarlo direttamente dal computer dell’utente (sarebbe una violazione di protezione), è necessario impostare la sua scadenza (ovvero la proprietà Expires
) su una data già trascorsa: così facendo, il browser rileverà che il cookie è scaduto e lo eliminerà.