Ho una pagina in cui un utente accede a un'applicazione di back-end tramite un servizio web. Il servizio Web restituisce un ID di sessione che desidero memorizzare in un cookie per 40 minuti, poiché dopo 40 minuti l'applicazione di back-end chiude automaticamente la sessione.C# Cookie - La proprietà Scade non imposta
mio codice per scrivere il cookie:
private void SetCookie()
{
Response.Cookies.Add(new HttpCookie("Cookie_SessionID"));
Response.Cookies["Cookie_SessionID"].Value = ni.NicheSessionID;
Response.Cookies["Cookie_SessionID"].Expires = DateTime.Now.AddMinutes(40);
//.... after a few more things
Response.Redirect(returnUrl);
}
quindi nella pagina di ricezione ho questo:
private HttpCookie GetCookie()
{
HttpCookie cookie = Request.Cookies["Cookie_SessionID"];
if (cookie != null && cookie.Value != null)
{
return cookie;
}
return null;
}
Per qualche ragione il cookie restituito da GetCookie()
ha sempre un valore Expires
di 0001-01-01 00:00:00
, anche se quando visualizzo i cookie nel browser ha la scadenza corretta.
Letta this in cui si afferma cookie scaduti non sono semplicemente inviati al server, suppongo quello che potrebbe accadere è che il cookie è essere scritto correttamente, ma il browser non è invio la data di scadenza, perché in realtà è inutile ? ...
Il mio problema è che voglio catturare con precisione che - il cookie è 'scaduto' e quindi devono ricollegarsi di nuovo - ma ho bisogno di visualizzare un messaggio sulla falsariga di "So che hai già loggato ma dovrai rifarlo "scrivi cosa.
Grazie