none
Destruir Cookies Quando o Navegador For Fechado RRS feed

  • Pergunta

  • Olá pessoal,

    tenho uma aplicação que cria um cookie com o Username e preciso destruí-lo quando o navegador for fechado, caso contrario ele dura 3 horas isso de durar apenas 3 horas consegui mas quando o navegador e fechado não consegui, alguém sebo como fazer?

    quarta-feira, 26 de junho de 2013 18:51

Respostas

Todas as Respostas

  • Pega i cara!

     protected void Application_End()
            {
                Session.Clear();
                Session.Abandon();
                //debloquear dúvida
                Request.RequestContext.HttpContext.Session.Abandon();

    if (Request.Cookies["UserSettings"] != null) {

    HttpCookie myCookie = new HttpCookie("UserSettings"); myCookie.Expires = DateTime.Now.AddDays(-1d); Response.Cookies.Add(myCookie); }


            }


    Dentro do Global.asax


    • Editado Romy Moura quarta-feira, 26 de junho de 2013 19:00 faltou linhas de códigos
    quarta-feira, 26 de junho de 2013 18:58
  • Pega i cara!

     protected void Application_End()
            {
                Session.Clear();
                Session.Abandon();
                //debloquear dúvida
                Request.RequestContext.HttpContext.Session.Abandon();

    if (Request.Cookies["UserSettings"] != null) {

    HttpCookie myCookie = new HttpCookie("UserSettings"); myCookie.Expires = DateTime.Now.AddDays(-1d); Response.Cookies.Add(myCookie); }


            }


    Dentro do Global.asax


    para criar o cookie com um valor e tempo de duração basta efetuar este processo.

    //cria cookie
    HttpCookie cookie = new HttpCookie("nome");
    
     
    //Determina o valor o cookie
    cookie.Value = "Valor"
    
     
    
    //Configura o cookie para expirar em 1 minuto
    DateTime dtNow = DateTime.Now;
    
    TimeSpan tsMinute = new TimeSpan(0, 0, 1, 0);
    cookie.Expires = dtNow + tsMinute;
    
    
    //Adiciona o cookie
    Response.Cookies.Add(cookie);
    
    

    quarta-feira, 26 de junho de 2013 19:05
  • Apenas completando a resposta do Romy.

    Não é possível "excluir" cookies porque eles estão na máquina do usuário e lá não é possível excluir nada. O que pode ser feito é sobrescrever o cookie existente como uma data de expiração anterior à data atual, assim como é feito no exemplo.


    Ao infinito e além!

    quinta-feira, 27 de junho de 2013 14:04
  • Romy coloquei esse codigo no Global.asax mas como faço para executalo toda vez que o navegador for fechado?
    quinta-feira, 27 de junho de 2013 20:09
  • Coloca o breakpoint no método que vc vai ver quando fechar a aplicação este método é acionado!

    O que precisa ser feito e verificar a versão da framework para ver se a sintax continua a mesma!

    Abraço.

    sexta-feira, 28 de junho de 2013 00:45
  • então, eu fiz isso mas ele não para no break point e como se o método não executasse 
    sexta-feira, 28 de junho de 2013 10:37
  • o que vc utiliza?

    webforms, mvc e qual framework?

    sexta-feira, 28 de junho de 2013 13:40
  • webform e framework 4.0
    domingo, 30 de junho de 2013 16:19
  • Tenta este código!

    void Application_End(object sender, EventArgs e) { // Code that runs on application shutdown }

    Abraço!.
    domingo, 30 de junho de 2013 20:19