Usuário com melhor resposta
Persistindo variáveis

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!
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
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
-
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!
-
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!