.net HttpCookie perguntas bolinho classe / sessão
-
08-07-2019 - |
Pergunta
Estou interessado em como fazer um objeto HttpCookie
regular em um cookie que expira no final de uma sessão. Não estou interessado em alguém showing me HttpContext.Session
. Como é que um cookie olhar sessão nos cabeçalhos de resposta em comparação com um cookie normal? Como posso modificar um HttpCookie
para expirar no final de uma sessão? Obrigado!
Solução
Um cookie de sessão é apenas um cookie que não tem qualquer conjunto data de validade.
Response.Cookies.Add(new HttpCookie("name", "value"));
ou
Response.Cookies["name"] = "value";
Outras dicas
Um cookie com uma expiração de DateTime.MinValue (1/1/0001) irá expirar no final da sessão. Esta é a data de validade padrão para um cookie em asp.net.
Você pode forçar um cookie para ser excluído fora do cliente imediately, definindo a data de expiração para algo antes "agora" (DateTime.Now.AddDays (1-D)), caso em que será eliminado quando ele atinge o cliente.
Se tivéssemos tipos anuláveis ??volta quando HttpCookie foi codificado meu palpite é que uma data nula equivaleria a um cookie de sessão base e qualquer outra coisa que se traduzem no valor de expiração, mas este não é o caso.
expiração de cookie:
- cookie de sessão - Expira data deve ser DateTime.MinValue que é 1/1/0001 00:00:00
- bolinho Normal (tempo limitado) -. Expira data é qualquer data futura igual ou superior a DateTime.Now atual
- Deleted bolinho -. A qualquer momento entre DateTime.MinValue e DateTime.Now
Para alterar o cookie para o cookie de sessão, basta atribuir MinValue.
httpCookie.Expires = DateTime.MinValue;
Se o seu cookie é nova. O valor padrão para DateTime deve ser DateTime.MinValue e sem necessidade de set.
CallMeLaNN