Artigo .net Magazine 50 - 5 dicas úteis para sua aplicação ASP.NET

Neste artigo vamos conhecer o IHttpModule, um importante recurso do ASP.NET.

Esse artigo faz parte da revista .NET Magazine edição 50. Clique aqui para ler todos os artigos desta edição

Clique aqui para ler essa revista em PDF.

 

Web – Mão na Massa

5 dicas úteis para sua aplicação ASP.NET

Desvende os mistérios do IHttpModule

 

 

Neste artigo vamos conhecer o IHttpModule, um importante recurso do ASP.NET. Através dele, vamos prover algumas funcionalidades interessantes para o nosso Web Site, muito comuns e encontradas na maioria dos aplicativos Web. São elas:

·Funcionalidade de aviso de manutenção do sistema web;

·Criação de um log de estatística;

·Criação de uma chave de ativação no estilo “serial-number” do Windows;

·Bloqueio de sistema por IP;

·Como fazer redirecionamento de páginas no estilo web 2.0.

 

O que é IHttpModule?

O IHttpModule é o módulo HTTP chamado sempre que houver uma requisição em seu sistema Web. O IHttpModule é geralmente utilizado para implementar uma camada de segurança, log de acesso ou cabeçalhos/rodapés personalizados, entre outros.

 

Sistema de aviso de manutenção

  É muito comum quando é necessário realizar alguma manutenção em sistemas Web, retirá-lo do ar temporariamente. Quanto maior o sistema, ou o site, mais delicado fica a manutenção e maior a necessidade de ter-se um agendamento para que seus usuários possam se organizar e não serem pegos de surpresa.

  O asp.net possui um recurso muito interessante. Para tirar a aplicação do ar por algum tempo, basta criar um arquivo .html na raiz do sistema chamado “app_offline.htm”. Automaticamente toda a aplicação sai do ar. Embora prático este recurso pode nos dar alguns problemas:

·E se eu quiser avisar o usuário algum tempo antes?

·Como fazer um agendamento programado, automático?

·Como fazer com que somente eu e minha equipe tenhamos acesso ao sistema em produção, para poder fazer um teste se está tudo 100% antes de lançar para os demais usuários?

Na aplicação a seguir, procurei utilizar conceitos rotineiros do asp.net, que podem nos ajudar muito no dia-a-dia.

Mãos à obra

Primeiro vamos simular o “app_offline.htm”, criando o nosso próprio arquivo (AplicacaoOffline.htm) que funcionará de forma similar, porém com recurso de agendamento, e bloqueio por IP, para que nenhum outro usuário, além dos administradores, possa acessar a aplicação em período de manutenção.

Abra o Visual Studio e crie uma aplicação WEB. No arquivo de configuração, web.config adicione  quatro valores no bloco appsettings (Listagem 1), a Tabela 1 explica com maiores detalhes a necessidade de cada propriedade.

 

Listagem 1. Informações no web.config para simularmos o app_offline.htm

<APPSETTINGS>
    <ADD value="127.0.0.333" key="MeuIP" />
    <ADD value="23/02/2008 16:43" key="DataManutencaoInicial" />
    <ADD value="23/02/2008 16:45" key="DataManutencaoFinal" />
    <ADD value="sim" key="ObedecerHorario" />
  </APPSETTINGS>

Chave (Key)

O que significa?

MeuIP

Será informado o seu IP. Para que quando a aplicação web fique em manutenção, somente o seu IP possa ter acesso para teste. Os demais IP verão uma mensagem de “em manutenção”.

DataManutencaoInicial

Data inicial da manutenção agendada. A partir desta data / hora será disponibilizada automaticamente uma mensagem aviso e bloqueado o acesso ao sistema. Formato: dd/MM/aaaa HH:mm. (menos para o IP cadastrado)

DataManutencaoFinal

Data final da manutenção agendada. A partir desta data / hora será disponibilizado o acesso normal ao sistema. Formato: dd/MM/aaaa HH:mm (menos para o IP cadastrado)

ObedecerHorario

Esta variável é para poder simular o arquivo “app_offline.htm” de forma mais fiel. Se o valor for “sim”, é levado em consideração o horário. Se for “não” é ignorado o horário, e levado em consideração apenas a existência do nosso arquivo “AplicacaoOffline.htm”. Caso o arquivo exista, e o valor seja “nao”, o sistema entra automaticamente em manutenção, assim com o arquivo padrão “app_offline.html”

Tabela 1. Propriedades que devem ser adicionadas no arquivo web.config

 

A seguir, crie um arquivo na raiz, chamado AplicacaoOffline.htm; ele será a mensagem que o usuário verá enquanto o sistema estiver em manutenção. Você pode criar com o layout de sua preferência. Caso queira exibir ao usuário o período da manutenção, você deve colocar no meio do seu texto de código html as informações “@MeuHorarioInicial” e “@MeuHorarioFinal”. Este texto depois será substituído respectivamente pelo que foi configurado na chave “DataManutencaoInicial” e “DataManutencaoFinal” do web.config. Veremos mais adiante como fazer esta substituição, a " [...] continue lendo...

Artigos relacionados