none
Excluir sessão RRS feed

  • Pergunta

  • Uso VS2010, aspnet c#

    Criei uma sessão do lado servidor tá funcionando ok

    Session["Nome1"] = txtNome.text;

    Como faço para excluir a referida sessão pelo lado cliente, javascript


    Álvaro Luiz

    sexta-feira, 8 de novembro de 2013 19:06

Respostas

  • Alvaro,

    Segue dois links .....

    How delete session with javascript
    http://bytes.com/topic/javascript/answers/760399-how-delete-session-javascripthttp://forums.asp.net/p/547113/550477.aspx#550477



    Diego Almeida Barreto
    System Analyst / Software Developer

    • Sugerido como Resposta Leonardo Lourenço Silva sexta-feira, 8 de novembro de 2013 20:08
    • Marcado como Resposta Álvaro Luiz sábado, 9 de novembro de 2013 01:50
    • Não Marcado como Resposta Álvaro Luiz sábado, 9 de novembro de 2013 09:41
    • Marcado como Resposta Álvaro Luiz sábado, 9 de novembro de 2013 09:42
    • Não Marcado como Resposta Álvaro Luiz sábado, 9 de novembro de 2013 09:43
    • Marcado como Resposta Álvaro Luiz sábado, 9 de novembro de 2013 09:43
    sexta-feira, 8 de novembro de 2013 20:02
  • Boa Noite Álvaro,

    variáveis do tipo "Session" são armazenadas no servidor, javascript roda no lado do cliente (desconsiderando SSJS, que não é o caso), a única forma que vejo é fazendo uma requisição assíncrona (AJAX).

    Mas eu peço que explique, por gentileza, o motivo de excluir essa sessão pelo lado cliente.

    Abraço

    • Marcado como Resposta Álvaro Luiz sábado, 9 de novembro de 2013 01:49
    sexta-feira, 8 de novembro de 2013 20:59
  • Vamos lá então, creio que assim funcione:

    Primeiro o js:

    <script type="text/javascript" > { PageMethods.DeleteSessionViaJavascript(); } </script>

    Code-Behind:

    [System.Web.Services.WebMethod] 
    public static void DeleteSessionViaJavascript() 
    { 
       Page page = new Page();
       page.Session.Remove("nomeDaSessao"); 
    }

    Tela aspx:

    <asp:ScriptManager EnablePageMethods="true" ID="MainSM" runat="server" ScriptMode="Release" LoadScriptsBeforeUI="true"></asp:ScriptManager>

    • Sugerido como Resposta Raphael Heitor sexta-feira, 8 de novembro de 2013 23:52
    • Marcado como Resposta Álvaro Luiz sábado, 9 de novembro de 2013 01:49
    • Não Marcado como Resposta Álvaro Luiz sábado, 9 de novembro de 2013 09:42
    • Marcado como Resposta Álvaro Luiz sábado, 9 de novembro de 2013 09:42
    • Não Marcado como Resposta Álvaro Luiz sábado, 9 de novembro de 2013 09:43
    • Marcado como Resposta Álvaro Luiz sábado, 9 de novembro de 2013 09:44
    sexta-feira, 8 de novembro de 2013 23:51
  • O que aconteceu é que o js foi chamado sem o script manager ter rodado, vc tem que atribuir o trecho do js ao close do seu modal.

    • Marcado como Resposta Álvaro Luiz sábado, 9 de novembro de 2013 01:49
    sábado, 9 de novembro de 2013 01:17
  • Olá Raphael consegui resolver de uma forma bem simples, na própria página defini o tempo de expiração da sessão assim:

    Page.Session.Timeout = 3;

    Obrigado pela sua ajuda, sem ela não teria conseguido


    Álvaro Luiz

    • Marcado como Resposta Álvaro Luiz sábado, 9 de novembro de 2013 01:49
    • Não Marcado como Resposta Álvaro Luiz sábado, 9 de novembro de 2013 09:45
    • Marcado como Resposta Álvaro Luiz sábado, 9 de novembro de 2013 09:45
    sábado, 9 de novembro de 2013 01:49

Todas as Respostas

  • Alvaro,

    Segue dois links .....

    How delete session with javascript
    http://bytes.com/topic/javascript/answers/760399-how-delete-session-javascripthttp://forums.asp.net/p/547113/550477.aspx#550477



    Diego Almeida Barreto
    System Analyst / Software Developer

    • Sugerido como Resposta Leonardo Lourenço Silva sexta-feira, 8 de novembro de 2013 20:08
    • Marcado como Resposta Álvaro Luiz sábado, 9 de novembro de 2013 01:50
    • Não Marcado como Resposta Álvaro Luiz sábado, 9 de novembro de 2013 09:41
    • Marcado como Resposta Álvaro Luiz sábado, 9 de novembro de 2013 09:42
    • Não Marcado como Resposta Álvaro Luiz sábado, 9 de novembro de 2013 09:43
    • Marcado como Resposta Álvaro Luiz sábado, 9 de novembro de 2013 09:43
    sexta-feira, 8 de novembro de 2013 20:02
  • Boa Noite Álvaro,

    variáveis do tipo "Session" são armazenadas no servidor, javascript roda no lado do cliente (desconsiderando SSJS, que não é o caso), a única forma que vejo é fazendo uma requisição assíncrona (AJAX).

    Mas eu peço que explique, por gentileza, o motivo de excluir essa sessão pelo lado cliente.

    Abraço

    • Marcado como Resposta Álvaro Luiz sábado, 9 de novembro de 2013 01:49
    sexta-feira, 8 de novembro de 2013 20:59
  • Olá Raphael, é o seguinte:

    De uma página aspx chamo uma janela de dialogo modal (jquery), lá crio a sessão, na janela tem a opção do usuário enviar um e-mail, o ato de enviar o e-mail precisa da informação que tá na sessão, se o usuário optar por enviar o e-mail, no click do botão que o envia, a última ação é excluir a sessão(até ai beleza), mas pode acontecer de o usuário abrir a janela e não enviar o e-mail, então como removo a sessão?? Quando eu fechar a janela a sessão excluir automático ou tenho que excluir manual 


    Álvaro Luiz




    • Editado Álvaro Luiz sexta-feira, 8 de novembro de 2013 22:52
    sexta-feira, 8 de novembro de 2013 22:33
  • Bom,

    Se a criação da sessão se dá no ato de abrir o popup, acho que não vai ter problemas em ele fechar a janela sem remover a sessão, uma vez que ela será sempre criada no ato de abrir o modal.


    Sendo assim o que irá ocorrer é sobrescrever a informação contida na sessão.
    • Editado Raphael Heitor sexta-feira, 8 de novembro de 2013 23:41
    • Sugerido como Resposta Raphael Heitor sexta-feira, 8 de novembro de 2013 23:41
    sexta-feira, 8 de novembro de 2013 23:39
  • A informação que tá na sessão é importante, por isso preciso destruir a sessão quando o popup for fechado, como faço isso?

    Álvaro Luiz

    sexta-feira, 8 de novembro de 2013 23:41
  • Vamos lá então, creio que assim funcione:

    Primeiro o js:

    <script type="text/javascript" > { PageMethods.DeleteSessionViaJavascript(); } </script>

    Code-Behind:

    [System.Web.Services.WebMethod] 
    public static void DeleteSessionViaJavascript() 
    { 
       Page page = new Page();
       page.Session.Remove("nomeDaSessao"); 
    }

    Tela aspx:

    <asp:ScriptManager EnablePageMethods="true" ID="MainSM" runat="server" ScriptMode="Release" LoadScriptsBeforeUI="true"></asp:ScriptManager>

    • Sugerido como Resposta Raphael Heitor sexta-feira, 8 de novembro de 2013 23:52
    • Marcado como Resposta Álvaro Luiz sábado, 9 de novembro de 2013 01:49
    • Não Marcado como Resposta Álvaro Luiz sábado, 9 de novembro de 2013 09:42
    • Marcado como Resposta Álvaro Luiz sábado, 9 de novembro de 2013 09:42
    • Não Marcado como Resposta Álvaro Luiz sábado, 9 de novembro de 2013 09:43
    • Marcado como Resposta Álvaro Luiz sábado, 9 de novembro de 2013 09:44
    sexta-feira, 8 de novembro de 2013 23:51
  • Fiz como sugeriu, não funcionou aqui, deu o erro:

    "PageMethods não está definido"


    Álvaro Luiz

    sábado, 9 de novembro de 2013 00:34
  • Estava pensando, tem como eu colocar, tipo um time, pra sessão expirar ou deletar-se, assim que eu crio ela?

    Álvaro Luiz

    sábado, 9 de novembro de 2013 00:54
  • O que aconteceu é que o js foi chamado sem o script manager ter rodado, vc tem que atribuir o trecho do js ao close do seu modal.

    • Marcado como Resposta Álvaro Luiz sábado, 9 de novembro de 2013 01:49
    sábado, 9 de novembro de 2013 01:17
  • Olá Raphael consegui resolver de uma forma bem simples, na própria página defini o tempo de expiração da sessão assim:

    Page.Session.Timeout = 3;

    Obrigado pela sua ajuda, sem ela não teria conseguido


    Álvaro Luiz

    • Marcado como Resposta Álvaro Luiz sábado, 9 de novembro de 2013 01:49
    • Não Marcado como Resposta Álvaro Luiz sábado, 9 de novembro de 2013 09:45
    • Marcado como Resposta Álvaro Luiz sábado, 9 de novembro de 2013 09:45
    sábado, 9 de novembro de 2013 01:49