Buscar
 
 

Resultados por:
 


Rechercher Busca avançada

Palavras chave

Últimos assuntos
» Material de estudos - atualizado
Sex Ago 26, 2016 5:13 pm por Admin

» Resolucao do Lab1 do Modulo 3
Qui Ago 11, 2016 9:12 am por Admin

» Roteiro – Treinamento ASP.NET MVC Avançado
Qui Ago 04, 2016 5:40 pm por Admin

» Atualização do .Net Framework disponível para download
Qui Ago 04, 2016 4:58 pm por Admin

» Atualização do .Net Framework Disponivel para download
Qui Ago 04, 2016 4:57 pm por Admin

» Exercicios de férias
Ter Ago 02, 2016 1:47 pm por Admin

» Projeto HandsOn disponivel para download + Atividades de férias
Qui Jul 07, 2016 5:27 pm por Admin

» exemplo de datepicker com jQuery UI
Sex Jul 01, 2016 5:52 pm por Admin

» exempolo para gerenciar sessao
Sex Jul 01, 2016 5:24 pm por Admin

Dezembro 2018
SegTerQuaQuiSexSabDom
     12
3456789
10111213141516
17181920212223
24252627282930
31      

Calendário Calendário

Os membros mais marcados


exempolo para gerenciar sessao

Ir em baixo

exempolo para gerenciar sessao

Mensagem por Admin em Qui Jun 30, 2016 10:10 pm

List<PedidoProduto> _ItensPedidoAtual;
private List<PedidoProduto> ItensPedidoAtual
{
get
{
_ItensPedidoAtual = (List<PedidoProduto>)Session["ProdutosPedidoAtual"];
if (_ItensPedidoAtual == null)
{
_ItensPedidoAtual = new List<PedidoProduto>();
Session["ProdutosPedidoAtual"] = _ItensPedidoAtual;
}
return _ItensPedidoAtual;
}
set
{
Session["ProdutosPedidoAtual"] = value;
_ItensPedidoAtual = value;
}
}

Admin
Admin

Mensagens : 52
Data de inscrição : 21/04/2016

Ver perfil do usuário http://aspnet01.forumbrasil.net

Voltar ao Topo Ir em baixo

Re: exempolo para gerenciar sessao

Mensagem por Admin em Sex Jul 01, 2016 5:24 pm

Pessoal, como sabermos que ao criar pedidos, o novo pedido fica "em cache" seria uma boa pratica utilizarmos uma classe que cuidasse das questões de cache, para que o controller tenha função exclusiva de tratar requisições e respostas.

Neste caso, segue uma classe chamada CacheManager. A ideia é substituirmos tudo que envolve cache nas Controllers com a chamada desta classe.

Com vocês notarão o código ficará mais organizado:



using MasterChild.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace MasterChild.Web.Helper
{
public class CacheManager
{

private static System.Web.SessionState.HttpSessionState Session
{
get
{
return HttpContext.Current.Session;
}
}

public static Pedido PedidoAtual
{
get
{
return (Pedido)Session["PedidoAtual"];
}
set
{
Session["PedidoAtual"] = value;
}
}

public static bool AdicionarItemAoPedidoAtual(PedidoProduto item)
{
item.PedidoProdutoId = Interador();
PedidoAtual.Itens.Add(item);
return true;
}

public static PedidoProduto LocalizarItem(Func<PedidoProduto,bool> predicado)
{
var item = PedidoAtual.Itens.Where(predicado).FirstOrDefault();
return item;
}

private static int Interador()
{
if (Session["Interador"] == null) Session["Interador"] = 0;
int posItem = (int)Session["Interador"];
posItem++;
Session["Interador"] = posItem++;
return posItem;
}

}
}

Admin
Admin

Mensagens : 52
Data de inscrição : 21/04/2016

Ver perfil do usuário http://aspnet01.forumbrasil.net

Voltar ao Topo Ir em baixo

Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum