Eventos, Variáveis de Sessão e
Aplicação
Tecnologia para Web
Enrique P. L. de Oliveira
[email protected]
Aplicações Web
Uma aplicação Web pode ser considerada qualquer
aplicação que esteja sendo executada no servidor Web
Além das variáveis locais e globais (de cada classe) as
aplicações Web pode utilizar dois tipos de variáveis para
manter os dados:
variáveis de sessão: válidas enquanto durar a sessão de um
usuário
variáveis de aplicação: válidas enquanto durar a aplicação Web.
Aplicações Web
O protocolo HTTP é um protocolo sem estado,
ou seja, cada requisição é tratada
independentemente.
Para controlar quando uma sessão começa o
ASP .NET associa de forma automática um
objeto Session para a sessão e define também
um tempo máximo para a sessão (Timeout). Se
o tempo for excedido sem qualquer requisição a
sessão é encerrada.
Arquivos de Configurações
Existem dois arquivos que são usados em
ASP.NET para configurar a aplicação Web:
web.config e global.asax.
web.config
O arquivo web.config é um arquivo de configurações
para aplicações Web no formato XML.
Assim como o global.asax não é obrigatório para
que a aplicação Web funcione. Caso não exista, o
ASP.NET utiliza um arquivo chamado
machine.config como padrão.
Geralmente o arquivo web.config é colocado na raiz
da aplicação junto com o arquivo global.asax.
Vale ressaltar que é possível criar configurações
específicas para diferentes diretórios, sendo assim, uma
aplicação pode ter mais de uma web.config
web.config - Configurações
Seção
Descrição
<appSettings>
Utilizada para armazenar suas próprias configurações personalizadas de Aplicativo.
<authentication>
Configura como o ASP.NET autentica seus usuários.
<authorization>
Configura a autorização de recursos no ASP.NET.
<connectionStrings>
Responsável por controlar as configurações do componente de capacidades do
navegador.
<compilation>
Responsável por todas as configurações de compilação.
<customErrors>
Indica como exibir erros no navegador.
<globalization>
Responsável por configurar as opções de globalização.
<httpHandlers>
Responsável pelo mapeamento de URLs de entrada em classes IHttpHandler.
<httpModules>
Responsável por configurar Módulos de HTTP dentro de um aplicativo.
<identity>
Controla como o ASP.NET acessa seus recursos.
<location>
Controla como as configurações se aplicam a um diretório.
<pages>
Controla configurações de páginas.
<processModel>
Configura as configurações de modelo de processo do ASP.NET em Sistemas de
Servidor da Web do IIS.
<sessionState>
Configura o Estado de Sessão.
<trace>
Configura o Trace (Rastreamento).
<webServices>
Controla as configurações dos Serviços da Web.
Armazenando configurações no
web.config
Existem duas formas de criar uma chave no web
config
A primeira é através da edição do próprio web.config
A segunda é através da aplicação ASP.NET
Configuration, acessível através do menu Website.
Essa aplicação permite criar várias
configurações para o website, entre elas
Application Configuration, onde é possível
gerenciar as chaves existentes no web.config.
Acessando as configurações
Para acessar as configurações via programação,
são necessários:
Incluir o namespace System.Web.Configuration
Acessar a propriedade AppSettings da classe estática
WebConfigurationManager
global.asax
O arquivo global.asax é uma arquivo (classe)
opcional utilizado na configuração de uma
aplicação Web. Este arquivo deve estar
presente no diretório raiz da aplicação Web.
Funciona de maneira semelhante as páginas
*.aspx.
É utilizado para sincronizar qualquer evento
exposto pela classe HttpApplication.
global.asax - Eventos
Evento
Descrição
AcquireRequestState
Acionado quando o Aplicativo obtém o cache para a solicitação.
AuthenticateRequest
Acionado quando o Aplicativo tenta autenticar a solicitação de HTTP.
AuthorizeRequest
Acionado quando o Aplicativo tenta autorizar a solicitação de HTTP.
BeginRequest
Acionado quando a solicitação de HTTP é iniciada.
EndRequest
Acionado quando a solicitação de HTTP é concluída.
Error
Acionado quando surge um erro.
PostRequestHandlerExecute
Acionado imediatamente depois do handler de HTTP processar a solicitação.
PreRequestHandlerExecute
Acionado imediatamente antes do handler de HTTP processar a solicitação.
PreSenderRequestContent
Se a solicitação tiver conteúdo adicional (QueryString, Variáveis de Formulário, etc.), esse evento é acionado
imediatamente antes daquele conteúdo ser recebido.
PreSenderRequestHeaders
Acionado imediatamente antes de os cabeçalhos de solicitação serem recebidos.
ReleaseRequestState
Acionado quando o Aplicativo libera o estado de sessão para a solicitação.
ResolveRequestCache
Acionado quando o Aplicativo determina o cache para a solicitação.
UpdateRequestCache
Acionado quando o Aplicativo autaliza e libera o cache para a solicitação.
global.asax - Eventos
A ordem de execução dos Eventos do arquivo global.asax:
1. Application_Start
2. Application_BeginRequest
3. Application_AuthenticateRequest
4. Application_AuthorizeRequest
5. Application_ResolveRequestCache
6. Session_Start
7. Application_AcquireRequestState
8. Application_PreRequestHandlerExecute
9. Page_Load (arquivo *.aspx) ou qualquer outra saída de página
10. Application_PostRequestHandlerExecute
11. Application_ReleaseRequestState
12. Application_UpdateRequestCache
13. Application_EndRequest
14. Application_PreSendRequestHeaders
Variáveis de Sessão
O objeto Session foi criado para armazenar
propriedades (valores) ligados a cada visitante,
individualmente.
Uma variável Session é criada quando o
visitante entra no site (cada visitante tem uma
session e cada session recebe um ID), e é
destruída quando o visitante sai do site (seja por
logoff explícito ou por TimeOut).
Variáveis de Sessão
Para criar uma variável de sessão utiliza-se:
Session[“Nome”] = valor;
Para remover uma variável de sessão:
Session.Remove(“Nome”);
Variáveis de Aplicação
O objeto Application entre outras finalidades,
pode armazenar informações referente a todos
os usuários do site.
Uma variável Application é criada quando a
aplicação é executada e é destruída quando o
último visitante sai do site.
Variáveis de Aplicação
Para criar uma variável de aplicação utiliza-se:
Application[“Nome”] = valor;
Para remover uma variável de sessão:
Application.Remove(“Nome”);
Exercícios
1. Criar uma aplicação que contenha 4 diferentes
controles e a cada ação do usuário seja
carregada em um listbox os eventos ocorridos.
Para que alguns controles
executem o evento assim que
ocorre a ação do usuário é
necessário alterar a propriedade
AutPostBack para True.
Exercícios
2. De forma semelhante ao exercício anterior, criar
uma aplicação que armazene a seqüência dos
eventos ocorridos (Incluindo eventos do
global.asax) e exiba-os em uma lista.
3. Criar uma aplicação que armazene uma
mensagem e o nome da pessoa que escreveu.
Ao acessar a página usuários podem postar
uma nova mensagem. A última mensagem deve
sempre ser armazenada.
Bibliografia
http://www.bufaloinfo.com.br/artigos/artigo1510.
asp
http://www.macoratti.net/aspnljv2.htm
http://www.mas.com.br/Artigos/mantendo.htm
http://www.projetando.net/Sections/ViewArticle.
aspx?ArticleID=9
Download

Aplicações Web - Objetivo Sorocaba