Trabalhando com Cache - Parte 1
Nesta série de 2 artigos, mostrarei como Trabalhar com Cache.
Olá pessoal, neste artigo mostrarei como trabalhar com cache.
Faço este artigo com base na videoaula de Bruno Belizário, do Portal Linha de Código, mediante autorização do mesmo. Acompanhem o passo-a-passo:
Iremos fazer um exemplo simples e rápido mostrando como armazenar algumas informações de uma página no cache e repassá-las a outra página. Este exemplo é bem parecido com o artigo sobre Manipulação do Web.Config.
Começando, abra o Visual Studio, vá em File > New Project (CTRL + SHIFT + N), escolha o template ASP.NET Web Application e dê o nome ExemploCache.
Na Default.aspx, vá ao modo Design, crie uma tabela e insira alguns controles na página, para que fique desta forma:

Na ordem em que se vê na imagem acima, passei os seguintes ID’s aos respectivos controles: lblNome, txtNome, lblCidade, txtCidade, btnSalvarCache e btnChamarPagina.
Antes de ir aos códigos, crie uma nova classe que irá guardar o tipo de dados que iremos armazenar em cache. Dê o nome Pessoa a essa classe criada.
Na classe criada crie o código com as propriedades referentes aos valores que serão inseridos pelo usuário na página:
public class Pessoa
{
public string Nome { get; set; }
public string Cidade { get; set; }
}
Agora sim, vá à página de códigos e crie o método abaixo, que irá salvar os dados em cache:
private void SalvarEmCache()
{
try
{
//Instancio a classe Pessoa, passo as propriedades dela e as atribuo os valores aos textboxes
Pessoa objPessoa = new Pessoa();
objPessoa.Nome = txtNome.Text;
objPessoa.Cidade = txtCidade.Text;
//Crio o Cache com o nome DadosPessoa, que recebe o objeto instanciado da classe Pessoa
Cache["DadosPessoa"] = objPessoa;
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
}
A forma descrita acima é a mais simples de se guardar valores no Cache. Mais adiante mostrarei outra forma.
Agora chame o método recém-criado no botão Salvar em Cache:
protected void btnSalvarCache_Click(object sender, EventArgs e)
{
SalvarEmCache();
}
Agora vá à Solution Explorer (CTRL + W + S), e crie uma nova página com o nome DadosPessoa. Nessa página, que irá receber os dados da Default.aspx, vá ao modo Design e adicione os controles para que fique parecido com a imagem abaixo:

Como você pode perceber na imagem deixei os labels Nome e Cidade somente com o ID, sem texto, já que os textos virão pelo Cache gerado pela Default.aspx.
Isso mesmo que iremos fazer, criando o seguinte método:
private void RecuperaDadosDoCache()
{
try
{
//Verifico se meu Cache está diferente de nulo
if (Cache["DadosPessoa"] != null)
{
//Instancio a classe Pessoa
Pessoa objPessoa = new Pessoa();
//Faço um Cast(conversão) no Cache para o tipo da classe Pessoa
objPessoa = (Pessoa)Cache["DadosPessoa"];
//Meus labels recebem os valores armazenados na classe Pessoa
lblNome.Text = objPessoa.Nome;
lblCidade.Text = objPessoa.Cidade;
}
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
}
Assim faço a verificação se há dados no Cache, prevenindo desta forma erros de compilação, para então fazer com o que os labels recebam os valores da digitados pelo usuário na Default.aspx. Agora chame este método no Page_Load:
protected void Page_Load(object sender, EventArgs e)
{
RecuperaDadosDoCache();
}
Agora volte a Default.aspx, dê dois cliques no botão Chamar Página e coloque este código que irá redirecionar para a página DadosPessoa.aspx:
protected void btnChamarPagina_Click(object sender, EventArgs e)
{
Response.Redirect("DadosPessoa.aspx");
}
Na próxima parte veremos a conclusão deste exemplo.Aguardem!

Space do autor

Estudo comparativo entre banco de dados IBM Informix e Microsoft SQL

0
0
Conheça os planos de créditos DevMedia e visualize esse post agora mesmo!