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.
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
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo