Como usar sessões em uma aplicação ASP.NET MVC 4?
Eu sou novo no ASP.NET MVC. Eu já usei PHP antes e foi fácil criar uma sessão e selecionar registros de usuários com base nas variáveis da sessão atual.
Procurei em toda parte na Internet por um simples tutorial passo a passo que pode me mostrar como criar e usar sessões na minha aplicação C# ASP.NET MVC 4. Eu quero criar uma sessão com variáveis de usuário que eu possa acessar de qualquer lugar nos meus controladores e ser capaz de usar as variáveis nas minhas consultas LINQ.
-Graças adiantadas!
103
3
Experimente
Devido à natureza stateless da web, as sessões são também uma forma extremamente útil de persistir objetos através de pedidos, seriando-os e armazenando-os em uma sessão.
Um caso de uso perfeito disso pode ser se você precisar acessar informações regulares em toda a sua aplicação, para salvar chamadas de banco de dados adicionais em cada pedido, esses dados podem ser armazenados em um objeto e não serializados em cada pedido, assim:
O nosso objecto reutilizável e reutilizável em série:
Uso caso:
Uma vez que este objeto tenha sido serializado, podemos usá-lo em todos os controladores sem precisar criá-lo ou consultar a base de dados para os dados contidos nele novamente.
**Injete seu objeto de sessão usando Injeção de Dependência***
Em um mundo ideal você 'programaria para uma interface, não implementação' e injetaria seu objeto de sessão serializável em seu controlador usando seu recipiente de Inversão de Controle de escolha, assim (este exemplo usa StructureMap como ele'é o que I'estou mais familiarizado com).
Você então registraria isto no seu arquivo `Global.asax.cs'.
Para aqueles que estão'não familiarizados com objetos da sessão de injeção, você pode encontrar um post de blog mais aprofundado sobre o assunto aqui.
Uma palavra de aviso:
É importante notar que as sessões devem ser mantidas a um mínimo, as grandes sessões podem começar a causar problemas de desempenho.
It's também é recomendado não armazenar neles quaisquer dados sensíveis (senhas, etc).
É assim que o estado da sessão funciona em ASP.NET e ASP.NET MVC:
Visão Geral do Estado da Sessão ASP.NET
Basicamente, isto é feito para armazenar um valor no objeto Sessão:
Para recuperar o valor: