Eventos, Variáveis de Sessão e Aplicação Tecnologia para Web Enrique P. L. de Oliveira...

18
Eventos, Variáveis de Sessão e Aplicação Tecnologia para Web Tecnologia para Web Enrique P. L. de Oliveira Enrique P. L. de Oliveira [email protected] [email protected]

Transcript of Eventos, Variáveis de Sessão e Aplicação Tecnologia para Web Enrique P. L. de Oliveira...

Page 1: Eventos, Variáveis de Sessão e Aplicação Tecnologia para Web Enrique P. L. de Oliveira enrique.leite@aes.edu.br.

Eventos, Variáveis de Sessão e AplicaçãoEventos, Variáveis de Sessão e Aplicação

Tecnologia para WebTecnologia para WebEnrique P. L. de OliveiraEnrique P. L. de [email protected]@aes.edu.br

Page 2: Eventos, Variáveis de Sessão e Aplicação Tecnologia para Web Enrique P. L. de Oliveira enrique.leite@aes.edu.br.

Aplicações WebAplicações Web

Uma aplicação Web pode ser considerada Uma aplicação Web pode ser considerada qualquer aplicação que esteja sendo executada qualquer aplicação que esteja sendo executada no servidor Web no servidor Web

Além das variáveis locais e globais (de cada Além das variáveis locais e globais (de cada classe) as aplicações Web pode utilizar dois tipos classe) as aplicações Web pode utilizar dois tipos de variáveis para manter os dados:de variáveis para manter os dados:

variáveis de sessão: válidas enquanto durar a sessão de variáveis de sessão: válidas enquanto durar a sessão de um usuárioum usuário

variáveis de aplicaçãovariáveis de aplicação:: válidas enquanto durar a válidas enquanto durar a aplicação Web.aplicação Web.

Page 3: Eventos, Variáveis de Sessão e Aplicação Tecnologia para Web Enrique P. L. de Oliveira enrique.leite@aes.edu.br.

Aplicações WebAplicações Web

O protocolo HTTP é um protocolo sem O protocolo HTTP é um protocolo sem estado, ou seja, cada requisição é tratada estado, ou seja, cada requisição é tratada independentemente. independentemente.

Para controlar quando uma sessão começa Para controlar quando uma sessão começa o ASP .NET associa de forma automática o ASP .NET associa de forma automática um objeto um objeto SessionSession para a sessão e define para a sessão e define também um tempo máximo para a sessão também um tempo máximo para a sessão ((Timeout).Timeout). Se o tempo for excedido sem Se o tempo for excedido sem qualquer requisição a sessão é encerrada.qualquer requisição a sessão é encerrada.

Page 4: Eventos, Variáveis de Sessão e Aplicação Tecnologia para Web Enrique P. L. de Oliveira enrique.leite@aes.edu.br.

Arquivos de ConfiguraçõesArquivos de Configurações

Existem dois arquivos que são usados em Existem dois arquivos que são usados em ASP.NET para configurar a aplicação Web: ASP.NET para configurar a aplicação Web: web.config e global.asax.web.config e global.asax.

Page 5: Eventos, Variáveis de Sessão e Aplicação Tecnologia para Web Enrique P. L. de Oliveira enrique.leite@aes.edu.br.

web.configweb.config

O arquivo web.config é um arquivo de O arquivo web.config é um arquivo de configurações para aplicações Web no configurações para aplicações Web no formato XML.formato XML.

Assim como o global.asax não é obrigatório Assim como o global.asax não é obrigatório para que a aplicação Web funcione. Caso não para que a aplicação Web funcione. Caso não exista, o ASP.NET utiliza um arquivo chamado exista, o ASP.NET utiliza um arquivo chamado machine.config como padrão.machine.config como padrão.

Geralmente o arquivo web.config é colocado Geralmente o arquivo web.config é colocado na raiz da aplicação junto com o arquivo na raiz da aplicação junto com o arquivo global.asax.global.asax.

Vale ressaltar que é possível criar configurações Vale ressaltar que é possível criar configurações específicas para diferentes diretórios, sendo assim, específicas para diferentes diretórios, sendo assim, uma aplicação pode ter mais de uma web.configuma aplicação pode ter mais de uma web.config

Page 6: Eventos, Variáveis de Sessão e Aplicação Tecnologia para Web Enrique P. L. de Oliveira enrique.leite@aes.edu.br.

web.config - Configuraçõesweb.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.

Page 7: Eventos, Variáveis de Sessão e Aplicação Tecnologia para Web Enrique P. L. de Oliveira enrique.leite@aes.edu.br.

Armazenando configurações no web.configArmazenando configurações no web.config

Existem duas formas de criar uma chave Existem duas formas de criar uma chave no web configno web config

A primeira é através da edição do próprio A primeira é através da edição do próprio web.configweb.config

A segunda é através da aplicação A segunda é através da aplicação ASP.NET ASP.NET ConfigurationConfiguration, acessível através do menu , acessível através do menu Website.Website.

Essa aplicação permite criar várias Essa aplicação permite criar várias configurações para o website, entre elas configurações para o website, entre elas Application ConfigurationApplication Configuration, onde é , onde é possível gerenciar as chaves existentes no possível gerenciar as chaves existentes no web.config.web.config.

Page 8: Eventos, Variáveis de Sessão e Aplicação Tecnologia para Web Enrique P. L. de Oliveira enrique.leite@aes.edu.br.

Acessando as configuraçõesAcessando as configurações

Para acessar as configurações via Para acessar as configurações via programação, são necessários:programação, são necessários:

Incluir o namespace System.Web.ConfigurationIncluir o namespace System.Web.Configuration

Acessar a propriedade AppSettings da classe Acessar a propriedade AppSettings da classe estática estática WebConfigurationManagerWebConfigurationManager

Page 9: Eventos, Variáveis de Sessão e Aplicação Tecnologia para Web Enrique P. L. de Oliveira enrique.leite@aes.edu.br.

global.asaxglobal.asax

O arquivo global.asax é uma arquivo O arquivo global.asax é uma arquivo (classe) opcional utilizado na configuração (classe) opcional utilizado na configuração de uma aplicação Web. Este arquivo deve de uma aplicação Web. Este arquivo deve estar presente no diretório raiz da estar presente no diretório raiz da aplicação Web.aplicação Web.

Funciona de maneira semelhante as Funciona de maneira semelhante as páginas *.aspx. páginas *.aspx.

É utilizado para sincronizar qualquer É utilizado para sincronizar qualquer evento exposto pela classe evento exposto pela classe HttpApplicationHttpApplication..

Page 10: Eventos, Variáveis de Sessão e Aplicação Tecnologia para Web Enrique P. L. de Oliveira enrique.leite@aes.edu.br.

global.asax - Eventosglobal.asax - Eventos

EventoEvento DescriçãoDescrição

AcquireRequestStateAcquireRequestState Acionado quando o Aplicativo obtém o cache para a solicitação.Acionado quando o Aplicativo obtém o cache para a solicitação.

AuthenticateRequestAuthenticateRequest Acionado quando o Aplicativo tenta autenticar a solicitação de HTTP.Acionado quando o Aplicativo tenta autenticar a solicitação de HTTP.

AuthorizeRequestAuthorizeRequest Acionado quando o Aplicativo tenta autorizar a solicitação de HTTP.Acionado quando o Aplicativo tenta autorizar a solicitação de HTTP.

BeginRequestBeginRequest Acionado quando a solicitação de HTTP é iniciada.Acionado quando a solicitação de HTTP é iniciada.

EndRequestEndRequest Acionado quando a solicitação de HTTP é concluída.Acionado quando a solicitação de HTTP é concluída.

ErrorError Acionado quando surge um erro.Acionado quando surge um erro.

PostRequestHandlerExecutePostRequestHandlerExecute Acionado imediatamente depois do handler de HTTP processar a solicitação.Acionado imediatamente depois do handler de HTTP processar a solicitação.

PreRequestHandlerExecutePreRequestHandlerExecute Acionado imediatamente antes do handler de HTTP processar a solicitação.Acionado imediatamente antes do handler de HTTP processar a solicitação.

PreSenderRequestContentPreSenderRequestContent Se a solicitação tiver conteúdo adicional (QueryString, Variáveis de Formulário, etc.), esse evento é 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.acionado imediatamente antes daquele conteúdo ser recebido.

PreSenderRequestHeadersPreSenderRequestHeaders Acionado imediatamente antes de os cabeçalhos de solicitação serem recebidos.Acionado imediatamente antes de os cabeçalhos de solicitação serem recebidos.

ReleaseRequestStateReleaseRequestState Acionado quando o Aplicativo libera o estado de sessão para a solicitação.Acionado quando o Aplicativo libera o estado de sessão para a solicitação.

ResolveRequestCacheResolveRequestCache Acionado quando o Aplicativo determina o cache para a solicitação.Acionado quando o Aplicativo determina o cache para a solicitação.

UpdateRequestCacheUpdateRequestCache Acionado quando o Aplicativo autaliza e libera o cache para a solicitação.Acionado quando o Aplicativo autaliza e libera o cache para a solicitação.

Page 11: Eventos, Variáveis de Sessão e Aplicação Tecnologia para Web Enrique P. L. de Oliveira enrique.leite@aes.edu.br.

global.asax - Eventosglobal.asax - Eventos

A ordem de execução dos Eventos do arquivo gA ordem de execução dos Eventos do arquivo global.asaxlobal.asax: :

1.  1.  Application_StartApplication_Start2.  2.  Application_BeginRequestApplication_BeginRequest3.  3.  Application_AuthenticateRequestApplication_AuthenticateRequest4.  4.  Application_AuthorizeRequestApplication_AuthorizeRequest5.  5.  Application_ResolveRequestCacheApplication_ResolveRequestCache6.  6.  Session_StartSession_Start7.  7.  Application_AcquireRequestStateApplication_AcquireRequestState8.  8.  Application_PreRequestHandlerExecuteApplication_PreRequestHandlerExecute9.  9.  Page_Load (arquivo *.aspx) ou qualquer outra saída de páginaPage_Load (arquivo *.aspx) ou qualquer outra saída de página10. 10. Application_PostRequestHandlerExecuteApplication_PostRequestHandlerExecute11. 11. Application_ReleaseRequestStateApplication_ReleaseRequestState12. 12. Application_UpdateRequestCacheApplication_UpdateRequestCache13. 13. Application_EndRequestApplication_EndRequest14. 14. Application_PreSendRequestHeaders Application_PreSendRequestHeaders

Page 12: Eventos, Variáveis de Sessão e Aplicação Tecnologia para Web Enrique P. L. de Oliveira enrique.leite@aes.edu.br.

Variáveis de SessãoVariáveis de Sessão

O objeto Session foi criado para armazenar O objeto Session foi criado para armazenar propriedades (valores) ligados a cada propriedades (valores) ligados a cada visitante, individualmente.visitante, individualmente.

Uma variável Session é criada quando o Uma variável Session é criada quando o visitante entra no site (cada visitante tem visitante entra no site (cada visitante tem uma session e cada session recebe um ID), uma session e cada session recebe um ID), e é destruída quando o visitante sai do site e é destruída quando o visitante sai do site (seja por logoff explícito ou por TimeOut). (seja por logoff explícito ou por TimeOut).

Page 13: Eventos, Variáveis de Sessão e Aplicação Tecnologia para Web Enrique P. L. de Oliveira enrique.leite@aes.edu.br.

Variáveis de SessãoVariáveis de Sessão

Para criar uma variável de sessão utiliza-Para criar uma variável de sessão utiliza-se:se:

Session[“Nome”] = valor;Session[“Nome”] = valor;

Para remover uma variável de sessão:Para remover uma variável de sessão:Session.Remove(“Nome”);Session.Remove(“Nome”);

Page 14: Eventos, Variáveis de Sessão e Aplicação Tecnologia para Web Enrique P. L. de Oliveira enrique.leite@aes.edu.br.

Variáveis de AplicaçãoVariáveis de Aplicação

O objeto Application entre outras O objeto Application entre outras finalidades, pode armazenar informações finalidades, pode armazenar informações referente a todos os usuários do site.referente a todos os usuários do site.

Uma variável Application é criada quando Uma variável Application é criada quando a aplicação é executada e é destruída a aplicação é executada e é destruída quando o último visitante sai do site. quando o último visitante sai do site.

Page 15: Eventos, Variáveis de Sessão e Aplicação Tecnologia para Web Enrique P. L. de Oliveira enrique.leite@aes.edu.br.

Variáveis de AplicaçãoVariáveis de Aplicação

Para criar uma variável de aplicação Para criar uma variável de aplicação utiliza-se:utiliza-se:

Application[“Nome”] = valor;Application[“Nome”] = valor;

Para remover uma variável de sessão:Para remover uma variável de sessão:Application.Remove(“Nome”);Application.Remove(“Nome”);

Page 16: Eventos, Variáveis de Sessão e Aplicação Tecnologia para Web Enrique P. L. de Oliveira enrique.leite@aes.edu.br.

ExercíciosExercícios

1.1. Criar uma aplicação que contenha 4 Criar uma aplicação que contenha 4 diferentes controles e a cada ação do diferentes controles e a cada ação do usuário seja carregada em um usuário seja carregada em um listboxlistbox os os eventos ocorridos.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.

Page 17: Eventos, Variáveis de Sessão e Aplicação Tecnologia para Web Enrique P. L. de Oliveira enrique.leite@aes.edu.br.

ExercíciosExercícios

2.2. De forma semelhante ao exercício De forma semelhante ao exercício anterior, criar uma aplicação que anterior, criar uma aplicação que armazene a seqüência dos eventos armazene a seqüência dos eventos ocorridos (Incluindo eventos do ocorridos (Incluindo eventos do global.asax) e exiba-os em uma lista.global.asax) e exiba-os em uma lista.

3.3. Criar uma aplicação que armazene uma Criar uma aplicação que armazene uma mensagem e o nome da pessoa que mensagem e o nome da pessoa que escreveu. Ao acessar a página usuários escreveu. Ao acessar a página usuários podem postar uma nova mensagem. A podem postar uma nova mensagem. A última mensagem deve sempre ser última mensagem deve sempre ser armazenada.armazenada.

Page 18: Eventos, Variáveis de Sessão e Aplicação Tecnologia para Web Enrique P. L. de Oliveira enrique.leite@aes.edu.br.

BibliografiaBibliografia

http://www.bufaloinfo.com.br/artigos/http://www.bufaloinfo.com.br/artigos/artigo1510.aspartigo1510.asp

http://www.macoratti.net/aspnljv2.htmhttp://www.macoratti.net/aspnljv2.htm

http://www.mas.com.br/Artigos/http://www.mas.com.br/Artigos/mantendo.htmmantendo.htm

http://www.projetando.net/Sections/http://www.projetando.net/Sections/ViewArticle.aspx?ArticleID=9ViewArticle.aspx?ArticleID=9