none
SESSAO EXPIRA EM 10 MINUTOS RRS feed

  • Pergunta

  • JA COLOQUEI NO WEB.CONFIG

    <sessionState mode="InProc" timeout="2880" />

    TAMBEM NO GLOBAL.ASAX

    void Session_Start(object sender, EventArgs e)
            {
                Session.Timeout = 240;
            }

    POREM DEPOIS DE 10 MINUTOS A SESSAO EXPIRA

    NÃO SEI MAIS O QUE FAZER

    ME AJUDA

    OBRIGADO

    segunda-feira, 7 de dezembro de 2015 14:39

Respostas

  • Ok. 

    Faça somente o codigo de autenticação que te passei acima no seu ~/Account/Login.aspx.cs.

    experimente string validTimeout = "2"; (dois minutos e faça um teste)

    Att.

    • Marcado como Resposta Marcos SJ terça-feira, 8 de dezembro de 2015 12:12
    segunda-feira, 7 de dezembro de 2015 20:41

Todas as Respostas

  • Bom dia.

    Tire todas referências do teu projeto sobre o Timeout da sessão. O tempo padrão de sessão é 20 minutos.

    Se continuar perdendo a sessão em 10 minutos significa que o problema está no IIS, não na aplicação.


    Att., Rafael Simor

    segunda-feira, 7 de dezembro de 2015 14:43
  • Boa Tarde

    Mas eu preciso de pelo menos 4 horas.

    Ou outro meio de salvar dados sem ser por sessao.

    Eu estou usando dessa forma:

    Session["SessionUsuario"] = a.ToString();

    Aguem pode me ajudar ?

    Fico no aguardo.

    Obrigado

    segunda-feira, 7 de dezembro de 2015 15:31
  • Ricardo, a questão de tirar qualquer referência do Timeout é somente um teste para verificar se o problema realmente é o IIS, não significa que tu deixarás o Timeout em 20 minutos.


    Att., Rafael Simor


    • Editado SimorC segunda-feira, 7 de dezembro de 2015 15:59
    segunda-feira, 7 de dezembro de 2015 15:59
  • Olá,

    segue um link que pode te ajudar.

    Configurando e utilizando a session
    http://www.linhadecodigo.com.br/artigo/2365/configurando-e-utilizando-a-session.aspx

    Caso prefira, pode utilizar cookies

    C# e Cookies
    http://www.devmedia.com.br/c-csharp-asp-net-e-cookies/1119

    Espero ter ajudado.


    Leonardo B. Moreira
    Web Developer .net with asp.net and C#
    I know, it is only programming but I like it.
    http://hashtageek.blogspot.com
    @lmoreira1987
    @lbmdeveloper

    segunda-feira, 7 de dezembro de 2015 16:16
  • Ricardo-ti2016

    Por gentileza, antes de rejeitar qualquer resposta sem ao menos tentar, comece a prestar mais atenção no que lhe é sugerido, faça os testes devidos e aí sim venha a discordar. Desta maneira suas threads vão começar a ser finalizadas de maneira mais rápida. Não rejeite sugestões de teste/solução.

    Atenciosamente


    Marcos Roberto de Souza Junior

    Esse conteúdo e fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as respostas que resolveram o seu problema. Essa e uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    segunda-feira, 7 de dezembro de 2015 17:14
  • Boa tarde

    Acredito que usando cookies eu vou resolver meu problema.

    Como ficaria meu código abaixo usando cookies ?

     Session["SessionUsuario"] = a.ToString();

    Fico no aguardo.

    Obrigado

    segunda-feira, 7 de dezembro de 2015 17:29
  • Ola.

    Supondo que voce utilize a autenticação via forms.

    No web config voce deverá informar o abaixo:

     <authentication mode="Forms">
          <forms name=".ASPXEXTRANETAUTH" loginUrl="frmLogin.aspx" timeout="40" defaultUrl="Default.aspx" protection="All" path="/" />
        </authentication>

    O importante ai acima na verdade são as paginas default e a pagina de formulario de login.

    No formulario de login.aspx.cs, voce deve colocar o abaixo, no botão de logar, apos os devidos testes de login.

    string validTimeout = "40";  // quarenta minutos
                            FormsAuthentication.Initialize();
                            //Definimos quanto tempo o usuário irá permanecer logado após deixar o site sem efetuar o logout            
                            DateTime data1 = DateTime.Now.AddMinutes(double.Parse(validTimeout));
                            FormsAuthenticationTicket fat = new FormsAuthenticationTicket(1, this.txtUsuario.Text.Trim(), DateTime.Now, data1, false, this.txtUsuario.Text.Trim(), FormsAuthentication.FormsCookiePath);
                            Response.Cookies.Add(new HttpCookie(FormsAuthentication.FormsCookieName, FormsAuthentication.Encrypt(fat)));
                            Response.Redirect(FormsAuthentication.GetRedirectUrl(this.txtUsuario.Text.Trim(), false));


    espero que te auxilie.

    abraços.

    segunda-feira, 7 de dezembro de 2015 17:31
  • Mas no meu WebConfig ja esta configurado conforme abaixo:

    <authentication mode="Forms">
          <forms loginUrl="~/Account/Login" timeout="2880" defaultUrl="~/" />
        </authentication>

    segunda-feira, 7 de dezembro de 2015 17:38
  • Ok. 

    Faça somente o codigo de autenticação que te passei acima no seu ~/Account/Login.aspx.cs.

    experimente string validTimeout = "2"; (dois minutos e faça um teste)

    Att.

    • Marcado como Resposta Marcos SJ terça-feira, 8 de dezembro de 2015 12:12
    segunda-feira, 7 de dezembro de 2015 20:41
  • Bom dia 

    Eu vou fazer o teste aqui. 

    Até breve.

    Obrigado

    terça-feira, 8 de dezembro de 2015 11:21