none
Persistindo variáveis RRS feed

  • Pergunta

  • Olá pessoal,

    No projeto que estou iniciando em MVC necessito manter três variáveis durante todo o período em que o usuário estiver logado (id_login, id_empresa e id_setor). Estou pensando em manter estes id´s numa SESSION mas tenho observado que alguns desenvolvedores com mais experiência criticam o uso das sessions. Neste caso qual seria a melhor forma de persistir estas informações? Neste sistema poderá haver mais de 100 usuários logados simultaneamente. 

    Grato pela força!

    quinta-feira, 18 de junho de 2015 22:22

Respostas

Todas as Respostas

  • Eu gravaria as informações que vc citou numa base de dados. Não sei exatamente como é o funcionamento do seu sistema, mas acredito que esta seria uma boa abordagem.

    Outras soluções também seriam o uso de uma solução de cache (que pode variar por usuário) como o Redis. Veja também este post do MVP Eduardo Pires, em que o mesmo descreve várias alternativas:

    http://eduardopires.net.br/2015/04/pense-duas-vezes-antes-de-utilizar-sessions/

    • Marcado como Resposta Cristopher C I_ terça-feira, 23 de junho de 2015 14:30
    sexta-feira, 19 de junho de 2015 11:03
  • Este post do Eduardo Pires é muito explicativo mas nenhuma das três opções apresentadas persistem as variáveis por todo o tempo que durar a sessão do usuário. Neste sistema essas variáveis serão iniciadas logo após o login do usuário.

    Grato pela força!

    terça-feira, 23 de junho de 2015 23:13
  • Ainda nesta questão de Persistência de estado....

    Acabei lendo algumas matérias que abordam o objeto "Profile". Pelo que pude ler, esta forma de persistência é ideal para o que estou tentando inserir no meu projeto MVC.

    Fiz a configuração no web.config da seguinte forma:

        <!--Permite a atribuição do Profile somente aos usuarios logados-->
        <anonymousIdentification enabled="true"/>
        <profile defaultProvider="DefaultProfileProvider">
          <providers>
            <add name="DefaultProfileProvider" type="System.Web.Providers.DefaultProfileProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" applicationName="/" />
          </providers>
          <properties>
            <add name="UsuarioLogin" defaultValue="" allowAnonymous="true"/>
            <add name="UsuarioApelido" defaultValue="" allowAnonymous="true"/>
          </properties>
        </profile>

    Mas quando tento atribuir o valor UsuarioLogin ou UsuarioApelido os mesmos não aparessem na opção do intellisense dentro de qualquer controle. Ex: Profile.UsuarioApelido = "Apelido";

    Devo efetuar mais alguma configuração? O Profile não funciona no MVC?

    Grato pela ajuda!

    sábado, 4 de julho de 2015 17:34