Introdução ao ASP.NET
Tecnologia para Web
Enrique Pimentel
[email protected]
Agenda
O que é o ASP.NET?
Componentes do ASP.NET
Elementos chaves para programação ASP.NET
Vantagens do ASP.NET
Partes de uma aplicação ASP.NET
Web Form
Componentes do Web Form
Organizando projetos com o IIS
Características de aplicações Web
O que é o ASP.NET?
ASP.NET é a plataforma usada para criar
aplicações Web e serviços Web que rodam
abaixo do IIS
ASP.NET não é a única tecnologia usada
para criar aplicações Web, outras
tecnologias também são usadas, tais como
JSP, PHP, CGI e Perl
O que torna o ASP.NET especial é a sua
integração com a plataforma Microsoft
Componentes do ASP.NET
O ASP.NET faz parte da .NET Framework e
é composto por diversos componentes:
Ferramentas de desenvolvimento Web do
Visual Studio .NET
System.Web namespaces
Controles de Servidor
Controles HTML
Elementos chaves – ASP.NET
Microsoft Internet Information Services (IIS)
Linguagens de programação
Microsoft Visual Basic .NET
Microsoft Visual C#
Microsoft Visual J#
.NET Framework
Microsoft ADO.NET
Microsoft Application Center Test (ACT)
Vantagens do ASP.NET
Integração com Windows Server e ferramentas de
programação
Com o ASP.NET é mais fácil criar, depurar e instalar
aplicações Web porque essas tarefas são realizadas
em um único ambiente de desenvolvimento (Visual
Studio .NET)
As aplicações são compiladas e, portanto, executam
mais rapidamente do que scripts interpretados
Atualizações podem ser feitas a qualquer momento e
dispensam reinicialização do servidor
Utilização da .NET Framework, o que simplifica muitos
aspectos da programação para Windows
Vantagens do ASP.NET
Gerenciamento automático de estado para controles de
uma página Web (chamados server controls), os
quais têm comportamento muito parecido com
controles Windows
Possibilidade de criar controles de servidor novos e
personalizados
Métodos de autenticação/autorização nativos
Integração com ADO.NET que oferece acesso à
bancos de dados
Total suporte à Extensible Markup Language (XML),
Cascading Style Sheets (CSS) e outros padrões da
Web
Detecta as características do browser utilizado pelo
cliente
Partes de uma Aplicação Web
O ASP.NET divide uma aplicação Web em
três partes:
Conteúdo
Programa lógico
Configuração
Partes da Aplicação ASP.NET
Parte
Tipos de arquivos
Descrição
Conteúdo
Web forms, HTML,
imagens, áudio, vídeo
e outros
Arquivos de conteúdo determinam a
aparência de uma aplicação Web. Eles
podem conter textos estáticos e
imagens assim como elementos que
são criados durante a execução da
aplicação pelo programa lógico.
Programa
lógico
Arquivos executáveis e
scripts
Configuração
Arquivo de
configuração Web,
folhas de estilo e
configurações do IIS
O programa lógico determina como a
aplicação responde às ações do
usuário. Aplicações ASP.NET possuem
uma dynamic-link library (DLL) que roda
no servidor e também podem incluir
scripts que rodam na máquina cliente
Os arquivos de configuração
determinam como a aplicação roda no
servidor, quem tem acesso, como os
erros são tratados e outros detalhes.
Web Form
O Web form é o elemento chave de uma
aplicação Web
Um Web form é o cruzamento entre uma
página HTML e um Windows form
Um Web form tem a mesma aparência e
comportamento similar à uma página HTML,
mas ele também tem controles que
respondem a eventos e rodam código como
um Windows form
Execução da Aplicação ASP.NET
Em uma aplicação ASP.NET, a parte executável de
um Web form é armazenada em um assembly (.dll)
que roda sobre o controle do ASP.NET worker
process (asp_wp.exe), o qual roda em conjunto com
o IIS
Seqüência de execução:
IIS inicia o ASP.NET worker process se ele não estiver
rodando. Este por sua vez carrega o assembly associado
ao Web form
O assembly constrói a resposta ao usuário baseado no
conteúdo do Web form e nos programas lógicos que
provêm conteúdo dinâmico
IIS retorna a resposta ao usuário no formato HTML
Componentes do Web Form
Componente
Exemplos
Descrição
Server
controls
TextBox, Label, Button,
ListBox, DropDownList
Estes controles respondem a
eventos do usuário rodando
procedures no servidor. Server
controls podem manter seu estado.
HTML controls TextArea, Table, Image,
Submit Button, Reset Button
Data controls
System
components
SqlConnection,
SqlCommand,
OleDbConnection,
OleDbCommand, DataSet
FileSystemWatcher,
EventLog, MessageQueue
Representam os elementos padrões
HTML. HTML controls são usados
quando não é necessário o conjunto
completo de características dos
server controls.
Data controls oferecem maneiras
para se conectar, executar
comandos e recuperar dados de
BDs e arquivos XML
Estes componentes oferecem
acesso à vários eventos de sistema
que ocorrem no servidor
Componentes do Web Form
Server controls e HTML controls são usados
para criar a interface com o usuário em um
Web form
Data controls e System controls aparecem no
Web form somente em tempo de projeto para
prover uma maneira visual de alterar suas
propriedades e tratar seus seus eventos
Em tempo de execução Data controls e
System controls não têm uma representação
visual
Organizando seu projeto com o IIS
Aplicações Web somente podem existir em uma
localização que tenha sido publicada pelo IIS como
um diretório virtual (virtual directory)
Um diretório virtual é um recurso compartilhado
identificado por um alias que representa uma
localização física no servidor
O diretório virtual //localhost é o diretório Web raiz
em um computador
Por padrão, o IIS instala o diretório raiz no boot drive
em \Inetpub\wwwroot
Características de Aplicações Web
Controles
Web forms não podem conter controles Windows
padrões. Ao invés disso, eles usam Server controls e
HTML controls criados especialmente para Web
Interface com Usuário
A aparência de um Web form é determinada pelo
browser que o exibe
Diferentes browsers suportam diferentes
características do HTML, o que pode mudar a
aparência e o comportamento dos Web forms, mas
não é preciso preocupar-se pois o ASP.NET trata a
maioria dessas diferenças
Características de Aplicações Web
Tempo de vida
Windows forms são instanciados, permanecem na
memória o tempo que for necessário e são destruídos
Web forms parecem se comportar da mesma forma,
mas eles são instanciados, enviados para o browser e,
em seguida, destruídos
Isso significa que todas as variáveis e objetos
declarados em um Web form não estão disponíveis
após ele ser exibido
Execução
O browser é o único software instalado no cliente e
toda lógica de negócio roda no servidor
Arquivos de um projeto ASP.NET
Nome do Arquivos
AssemblyInfo.vb
AssemblyInfo.cs
Global.asax
Global.asax.vb
Global.asax.cs
Styles.css
Web.config
Projectname.vsdisco
WebForm1.aspx
WebForm1.aspx.vb
WebForm1.aspx.cs
WebForm1.aspx.resx
Projectname.vbproj
Projectname.csproj
Projectname.vbproj.webinf
o
Projectname.csproj.webinfo
Conteúdo
Todos os atributos que são escritos no assembly compilado, incluindo a versão, o nome
da empresa , GUID e etc.
Eventos glocais que ocorrem na sua aplicação Web, tais quando a aplicação inicia ou
termina. Você pode ter somente um arquivo Global.asax por projeto na pasta raiz do
projeto.
O código usado em Global.asax. Este arquivo não é mostrado no Solution Explorer.
As definições de estilo para usar com o HTML gerado pelo seu projeto. Este arquivo
aparece somente nos projetos Visual Basic .NET.
As configurações que o seu servidor web usa quando processa o projeto.
Descrições de Web Services que o projeto fornece.
A descrição visual de um Web form.
O código que responde aos eventos no Web Form.
Os recursos da linguagem XMl usado pelo Web Form.
O arquivo de projeto listando os arquivos e configurações usadas em tempo de desenho.
Este arquivo trata o diretório virtual raiz para a aplicação web.
Arquivos de um projeto ASP.NET
Extensão de arquivo Item de Projeto
.aspx
.htm
.vb or .cs
.ascx
.asmx
.xml
.xsd
.xslt
Descrição
Cada Web Form constitui uma página web ASP.NET na sua aplicação.
As aplicações podem ter uma ou muitos formulários web. Os Web
Web form
Forms possuem arquivos de código associados com eles com a
extensão .aspx.vb ou aspx.cs para C#.
Páginas web que não possuem código do servidor e podem aparecer
página HTML
como páginas HTML no seu projeto.
Código que define objetos na sua aplicação e esta armazenado em
Classe ou modulo
clases.
Controles de usuário que são construídos a partir de outros web forms
Web user control
e controles de servidor.
Web services que exibem classes para execução remota sobre a
Web service
rede.
Arquivos de dados que armazenam informação usada pela sua
arquivo XML
aplicação.
Arquvios de esquema que descrevem o formato e restrições a serem
XML Schema
aplicados no armazenamento de dados.
XML Style Sheet Regras de formatação a serem aplicadas para exibir dados XML
Arquivos de Configurações
Existem dois arquivos que são usados em
ASP.NET para configurar a aplicação Web:
global.asax e web.config.
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.
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. Se ele não existir
o ASP.NET usa 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.
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
Exercícios ASP.NET
1. Criar uma aplicação em ASP.NET que
realize a conversão de moedas. A
aplicação deverá converter valores das
seguintes moedas: real, dollar (R$ 2,27),
euro (R$ 2,92) e libra (4,26);
2. Altere o programa anterior de modo que o
usuário seja capaz de cadastrar moedas e
suas respectivas cotações em Reais em
tempo de execução.
Torres de Hanoi
As Torres de Hanoi são um quebra-cabeca
muito antigo e conhecido. Ele é constituído
de um conjunto de N discos de tamanhos
diferentes e três pinos verticais, nos quais
os discos podem ser encaixados.
Torres de Hanoi
Cada pino pode conter uma pilha com
qualquer número de discos, desde que
cada disco não seja colocado acima de
outro disco de menor tamanho. A
configuracão inicial consiste de todos os
discos no pino 1. O objetivo é mover todos
os discos para um dos outros discos,
sempre obedecendo à restricão de não
colocar um disco sobre outro menor.
Torres de Hanoi
Um algoritmo recursivo para resolver este
problema é o seguinte:
procedimento Hanoi(N, Orig, Dest, Temp)
se N = 1 então
mover o menor disco do pino Orig para o pino Dest;
senão
Hanoi(N-1, Orig, Temp, Dest);
mover o N-ésimo menor disco do pino Orig para o pino
Dest;
Hanoi(N-1, Temp, Dest, Orig);
fim-se
fim
Exercício ASP.NET
Criar uma aplicação web, que dado o
número de discos, exiba em um listbox
todos os passos para transferir os discos
do pino 1 para o pino 3, e o número de
passos necessários para executar a tarefa.
Deverá ser criada uma classe para
implementar o algoritmo.
Download

Web Form - Objetivo Sorocaba