desenvolvimento asp.net. 1 framework.net common language runtime assembly garbage collection...
TRANSCRIPT
![Page 1: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/1.jpg)
Desenvolvimento ASP.net
![Page 2: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/2.jpg)
2
Desenvolvimento ASP.net Framework .net
Common Language Runtime Assembly Garbage Collection
Conceitos de C# Características da Linguagem Operadores e estruturas
ASP .net Paradigma ASP.net Visual Studio .NET Web Forms, Server Controls e User Controls Gestão do estado ADO .Net
![Page 3: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/3.jpg)
Framework .net
![Page 4: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/4.jpg)
4
Visão .net
![Page 5: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/5.jpg)
5
Framework .net Conjunto de tecnologias para o
desenvolvimento e utilização de componentes para a criação de: Web Forms Web Services Aplicações Windows
Suporta todos as fases da produção de Software Desenvolvimento Debugging Distribuição Manutenção
![Page 6: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/6.jpg)
6
Common Language Runtime - CLR
Ambiente que permite a execução em tempo real de aplicações.
Fornece um conjunto de serviços, ao nível das fases de desenvolvimento, de distribuição e de execução, que melhoram o desempenho da aplicação.
![Page 7: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/7.jpg)
7
CLR - Serviços Fase de Desenvolvimento
Diversas linguagens de programação Aumento de produtividade
Fase de Instalação Processo de instalação resume-se a uma cópia de
ficheiros (XCOPY) A gestão de versões de componentes é feita no
processo de compilação Fase de Execução
Performance Escalabilidade Disponibilidade
![Page 8: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/8.jpg)
8
CLR - Arquitectura
Class Loader
MSIL to NativeCompilers (JIT)
CodeManager
GarbageCollector (GC)
Security Engine Debug Engine
Type Checker Exception Manager
Thread Support COM Marshaler
Base Class Library (.NET Framework) Support
Gere a metadata e o carregamento das classes necessárias.
Converte código MSIL para código nativo optimizado
Controla a execução do código
Gestão de memória
Procedimentos de segurança baseados na identificação do utilizador e na localização do código
Permite fazer debug da aplicação
Impede conversões inadequadas e gere o acesso às variáveis
Tratamento de erros
Fornece classes e interfaces para utilização de threads
Sequencia a distribuição dos componentes
Faz a integração com a .NET Framework class library.
![Page 9: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/9.jpg)
9
CLR - Características
Sistema Comum de Tipos Conversão directa dos tipos de informação da
Linguagem de programação para os da Framework Compilador Just-in-time (JIT)
O JIT converte o código intermédio (MSIL) em código nativo optimizado
Gestão de memória – Garbage Collection Evita problemas de “falta de memória disponível”
Tratamento de Excepções Permite um tratamento de erros mais elegante
Gestão de Threads
![Page 10: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/10.jpg)
10
Compilação e Execução
Class LoaderClass LoaderClass LoaderClass Loader
JIT CompilerJIT Compilerwith optionalwith optionalverificationverification
JIT CompilerJIT Compilerwith optionalwith optionalverificationverification
ExecutionExecution
Security ChecksSecurity Checks
EXE/DLL(MSIL and
metadata)
EXE/DLL(MSIL and
metadata)
ClassLibraries
(MSIL and
metadata)
ClassLibraries
(MSIL and
metadata)
Trusted,pre-JITedcode only
Call to anuncompiled
method
Runtime Engine
ManagedNative Code
CompilerCompiler SourceCode
SourceCode
![Page 11: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/11.jpg)
11
Assembly
Contêm código e metadata para o CLR Constitui-se como unidade básica de
distribuição Podem ser do tipo EXE e DLL
![Page 12: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/12.jpg)
12
DEMO 01: ildasm.exe Desenvolver uma pequena aplicação em VB .NET e em
C# Utilizar a aplicação ildasm para verificar o código MSIL
gerado
![Page 13: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/13.jpg)
13
DEMO 01 Ficheiro Demo1.cs
csc /t:exe /out:Demo1CS.exe Demo1.cs ildasm Demo1CS.exe
using System;namespace Ades{ public class Demo { public static void Main() { Console.WriteLine("Ola Mundo"); Console.ReadLine(); } }}
![Page 14: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/14.jpg)
14
DEMO 01
Ficheiro Demo1.vb
vbc /t:exe /out:Demo1VB.exe Demo1.vb ildasm Demo1VB.exe
Imports Systemnamespace Ades public class Demo
public Shared Sub Main() Console.WriteLine("Ola Mundo") Console.ReadLine() end Sub
end classend namespace
![Page 15: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/15.jpg)
15
Algoritmo “Garbage Collection”
Espera que todas as threads terminem Verifica quais os objectos que estão
referenciados. A memória ocupada pelos objectos não referenciados é libertada.
Desloca os objectos válidos para a “compact heap”
Actualiza as suas referências
![Page 16: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/16.jpg)
16
Garbage Collection
![Page 17: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/17.jpg)
Conceitos de C#
![Page 18: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/18.jpg)
18
Introdução ao C#
Linguagem baseada no C/C++ com inspiração no Java preserva investimentos e conhecimentos
adquiridos permite um código mais “limpo” possui construções sintácticas especiais
para retirar partido da framework Tudo são objectos Ficheiros têm extensão .cs
![Page 19: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/19.jpg)
19
Tipos de dados object string sbyte, short, int, long byte, ushort, uint, ulong char float, double, decimal bool
Estes tipos são alias para os tipos definidos na framework
Por exemplo, int == System.Int32
![Page 20: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/20.jpg)
20
Classes e namespaces
Organização do código dentro de classes
Classes organizadas dentro de namespaces
namespace Demo {public class MyClass {...}
}
![Page 21: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/21.jpg)
21
Métodos Sintaxe semelhante ao C/C++ Podem ser públicos ou privados Suporta overloading
public class MyHelloWorld {...public void SayHello(){ ... }
private void SetTitle(String Title){ ... }
}
![Page 22: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/22.jpg)
22
Passagem de parâmetros Por valor Por referência
out – parâmetro de saída ref – parâmetro de entrada e saída
public void func1(int x){ ... }
public void func2(out int x){ ... }
public void func2(ref int x){ ... }
![Page 23: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/23.jpg)
23
Herança
Apenas existe herança simples
public class MyClassBase {
...
public void Func() { ... }
}
public class MyClassDeriv : MyClassBase {
...
public new void Func() { base.Func(); ... }
}
![Page 24: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/24.jpg)
24
Propriedades
Sintaxe alternativa para acesso a membros de dados da classe mas com as vantagens dos métodos
public class Button : Control{
private string m_caption;public string Caption {
get { return m_caption; }set { m_caption = value; Repaint(); }
}...
}
![Page 25: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/25.jpg)
25
Operadores
Atribuição =
Relacionais < <= > >= == !=
Lógicos && || !
Aritméticos + - * / % += -= *= /= ++ --
![Page 26: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/26.jpg)
26
Criação de objectos
// definição da classe
public class MyClass { ... }
// definição da variável
MyClass obj;
// criação do objecto
obj = new MyClass();
![Page 27: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/27.jpg)
27
Construtores
Seguem as regras do C/C++ Mesmo nome da classe Sem tipo de retorno Podem ter ou não argumentos
public class MyClass {...public MyClass() { ... }public MyClass(String Title) { ... }
}
![Page 28: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/28.jpg)
28
Ciclos// repetição n vezesfor (int x = 0; i < vec.Length; i++)
Console.WriteLine(vec[i]);
// repetição condicionalint i = 0;while (i < vec.Length){
Console.WriteLine(vec[i]); i++;
}
// enumeração (colecções)foreach (String x in vec)
Console.WriteLine(x);
![Page 29: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/29.jpg)
29
Estruturas Condicionais
// teste de decisãoif (i < vec.Length)
Console.WriteLine(vec[i]);else
Console.WriteLine(“Erro!!!”);
// teste múltiploswitch (x){
case 1: ...; break;case 2: ...; goto case 3;case 3: ...; break;default: ...; break;
}
![Page 30: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/30.jpg)
ASP.net
![Page 31: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/31.jpg)
31
O que é o ASP.net?
Sucessor da tecnologia Active Server Pages
Independente da linguagem utilizada Independente do browser cliente Informação inserida no cliente é
directamente processada no servidor (conceito de Web Form)
Criação de aplicações Web distribuídas por meio de “Web Services”
![Page 32: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/32.jpg)
32
IIS – Internet Information Server
Servidor Web produzido pela Microsoft Incluído no
Windows 2000, Windows XP Professional, Windows 2003
Suporte para ASP e ASP.Net Servidor IIS do DEI – w2ks.dei.isep.ipp.pt Referencia local ao IIS - localhost
![Page 33: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/33.jpg)
33
Colocação de conteúdos ASP.net no IIS
Num servidor IIS local Aceder a c:\inetpub\wwwroot Criar uma directoria para colocar as páginas
do site Classificar essa directoria como sendo uma
Directoria Virtual (recorrendo a Computer Management no painel de controlo)
O acesso web é feito pela URL http://localhost/nomeDirectoriaVirtual
![Page 34: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/34.jpg)
34
Colocação de conteúdos ASP.Net no IIS
No w2ks Os alunos de ADES têm uma directoria com
o nome de xxxxxxw$ (onde xxxxxx representam os 6 dígitos da direita do numero do aluno)
Essa directoria está classificada como directoria virtual (com nome xxxxxx).
Para colocar conteúdos nessa directoria devem aceder a \\w2ks\xxxxxxw$
O acesso web é feito pela URL http://w2ks.dei.isep.ipp.pt/xxxxxx
![Page 35: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/35.jpg)
35
Aplicação ASP.net
XML Data Database
InternetInternet
Page1.aspx
Page2.aspx
WebServices
WebServices ComponentsComponents
Web Forms
Code-behind pages
global.asax
Web.config
machine. config
ASP.NET Web Server
Out
put C
ache
Clients
![Page 36: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/36.jpg)
36
Modelo de Execução ASP.net
![Page 37: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/37.jpg)
37
Visual Studio .NET
Um só IDE (Integrated Development Environment) para múltiplas linguagens e múltiplos tipos de projectos
Múltiplas linguagens num só projecto Múltiplos projectos numa só solução Integra browser Permite efectuar debbug Gera código .net
![Page 38: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/38.jpg)
38
Templates de Projectos
A lista dos templates de projectos baseia-se no perfil do utilizador e na escolha do tipo de projecto
![Page 39: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/39.jpg)
39
IDE VS.netTo
olbo
x
Task List
SolutionExplorer
Dynamic Help
Editor/Browser
Properties
Server Explorer
Object Browser
![Page 40: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/40.jpg)
40
Processo de Desenvolvimento
Fase de análise e especificação
Fase de análise e especificação
CompilarCompilar
Fase detestes
Fase detestes
Produzir a interfacee escrever código
Produzir a interfacee escrever código
Criar um projecto
Criar um projecto
Visual Studio .NET
DisponibilizarDisponibilizar
![Page 41: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/41.jpg)
41
Ficheiros da aplicação Web
Solution files (.sln, .suo) Project files (.vbproj, .csproj) Web application files
Web forms (.aspx) User Controls (.ascx) Web services (.asmx) Classes, code-behind pages (.cs, .vb) Global application classes (.asax) Web.config file
Project assembly (.dll)
![Page 42: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/42.jpg)
42
Estrutura de Ficheiros da Aplicação Web
wwwrootwwwroot
BinBin
InetpubInetpub
ProjectAProjectA
My DocumentsMy Documents
Development FilesDevelopment Files
Assembly FilesAssembly Files
WebForm1.aspx
WebForm1.aspx.cs(Code-behind page)
Visual StudioProjects
Visual StudioProjects
SolutionSolution
Solution.sln ProjectA.csproj
ProjectA.dllBuild
![Page 43: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/43.jpg)
43
DEMO 02: Visual Studio .NET Apresentação do IDE VS.NET Criar um Projecto de Aplicação Web em C#
![Page 44: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/44.jpg)
44
O que são Web Forms?
Ficheiros com extensão aspx Constituídos essencialmente por:
Atributo Page (directiva @Page)
Atributo Body
Atributo Form
<%@ Page language="c#“Codebehind="WebForm1.aspx.cs”Inherits=“nomeAplicacao.WebForm1”%>
<%@ Page language="c#“Codebehind="WebForm1.aspx.cs”Inherits=“nomeAplicacao.WebForm1”%>
<body MS_POSITIONING="GridLayout"><body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server"><form id="Form1" method="post" runat="server">
![Page 45: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/45.jpg)
45
Web Forms – Modelo de Objectos
As Web Forms possuem um modelo de objectos interno constituído por: Objecto Server
Representa o Servidor Web Objecto Page
Representa a página Web Objecto Request
Representa o pedido efectuado pelo browser cliente Objecto Response
Represente a resposta a enviar ao cliente pelo servidor
![Page 46: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/46.jpg)
46
Web Forms – Atributo FORM
Dentro do atributo FORM colocam-se controlos denominados “Server Controls”
Web Server Controls Intrinsic controls (asp:TextBox) Validation controls (asp:RequiredFieldValidator) Rich controls (asp:Calendar) List-bound controls (asp:DataGrid ) Internet Explorer Web Controls
(http://www.asp.net/IEWebControls/Download.aspx) HTML Server Controls
Controlos HTML básicos (DIV, IMG, HR ,...)
![Page 47: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/47.jpg)
47
Server Controls
Runat=“server” São executados no Servidor Web Armazenam informação de estado (viewstate)
Têm funcionalidades intrínsecas Modelo de programação comum
Todos têm os atributos Id e Text Geram código HTML específico para o browser
cliente
<asp:Button id=“Button1” runat=“server” Text=“Submit”/>
<asp:Button id=“Button1” runat=“server” Text=“Submit”/>
![Page 48: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/48.jpg)
48
HTML server controls Baseados nos elementos HTML
Runat=“server”
Existem no namespace System.Web.UI.HtmlControls
<input type="text" id="txtName" runat="server" />
<input type="text" id="txtName" runat="server" />
![Page 49: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/49.jpg)
49
Web server controls Existem no namespace
System.Web.UI.WebControls
Sintaxe ASP.net
HTML gerado
<asp:TextBox id="TextBox1"runat="server">Text_to_Display</asp:TextBox>
<asp:TextBox id="TextBox1"runat="server">Text_to_Display</asp:TextBox>
<input name="TextBox1" type="text" value="Text_to_Display"Id="TextBox1"/>
<input name="TextBox1" type="text" value="Text_to_Display"Id="TextBox1"/>
![Page 50: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/50.jpg)
50
Escolher o Controlo Adequado
Necessitar de funcionalidades especificas tais como um “calendar”
O controlo irá interagir com scripts no cliente e no servidor
Pretender desenvolver páginas que serão visualizadas por diversos tipos de browsers
Pretender fornecer rapidamente funcionalidades ASP.NET a páginas HTML já existentes
Preferir trabalhar com um modelo de programação orientado a objectos
Preferir trabalhar com a estrutura de objectos HTML
Optar porOptar porWeb Server ControlsWeb Server Controls se: se:
Optar porOptar porHTML Server ControlsHTML Server Controls se: se:
A largura de banda disponível não constituir um problemaA largura de banda for limitada
![Page 51: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/51.jpg)
51
DEMO 03: Server Controls Criar um Web Form Utilizar Server Controls (Label, Button e calendar)
![Page 52: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/52.jpg)
52
Como programar em ASP .NET
Três métodos de implementar código: Colocar o código no mesmo ficheiro que contem os
Server Controls misturado com as definições dos mesmos (mixed)
Colocar o código no mesmo ficheiro que contem os Server Controls, mas numa zona separada das definições dos controlos (inline code)
Colocar o código num ficheiro separado (code-behind pages)
Por defeito o VS .NET utiliza ficheiros separados de código (code-behind)
![Page 53: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/53.jpg)
53
Programação Inline Definição dos controlos e código no mesmo
ficheiro Secções separadas para o código e para o HTML
<HTML><asp:Button id="btn" runat="server"/></HTML>
<SCRIPT Language="c#" runat="server"> private void btn_Click(object sender,
System.EventArgs e) { . . . }</SCRIPT>
<HTML><asp:Button id="btn" runat="server"/></HTML>
<SCRIPT Language="c#" runat="server"> private void btn_Click(object sender,
System.EventArgs e) { . . . }</SCRIPT>
![Page 54: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/54.jpg)
54
Programação Code-BehindCódigo e HTML em ficheiros separados
Programadores e Web Designers podem trabalhar de forma independente
Form1.aspxForm1.aspx Form1.aspxForm1.aspx Form1.aspx.csForm1.aspx.cs
<tags><tags> códigocódigo
códigocódigo
Ficheiros separadosUm só ficheiro
![Page 55: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/55.jpg)
55
Como funcionam as página com Code-Behind?
Ficheiros separados para interface e para o código
A ligação dos ficheiros é feita pela directiva @ Page no processo de pré-compilação (JIT-compile)
Page1.aspx
<% @ Page Language="c#"Inherits="Project.WebForm1" Codebehind="Page1.aspx.cs" Src = "Page1.aspx.cs" %>
Page1.aspx.cs public class WebForm1 { private void cmd1_Click() { … } }
![Page 56: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/56.jpg)
56
O que são Event Procedures?
Acções em resposta à interacção do utilizador com os controlos numa página
![Page 57: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/57.jpg)
57
Scripts no cliente
Só utilizados com controlos HTML Interpretado pelo browser e executado no
cliente Não acede a recursos do servidor <SCRIPT language="language">
Internet .HTM Pages
![Page 58: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/58.jpg)
58
Scripts no servidor
Utilizado em qualquer tipo de Server Control Compilado e executado no servidor Tem acesso aos recursos do servidor <SCRIPT language=“cs“ runat="server">
Internet .ASPX Pages
![Page 59: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/59.jpg)
59
Tratamento de eventos no Cliente e no Servidor
![Page 60: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/60.jpg)
60
DEMO 04: Eventos Criar procedimentos que permitam responder a eventos
capturados pelos controlos da web form
![Page 61: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/61.jpg)
61
Tratamento do evento Postback - uso de Page.IsPostBack
O evento Page_Load ocorre em cada pedido á página.
A propriedade IsPostBack do objecto Page permite verificar se se trata do primeiro pedido ou não.
private void Page_Load(object sender, System.EventArgs e){ if (!Page.IsPostBack)
{ //Código executado somente no primeiro pedido}
//este código será executado em todos os pedidos}
private void Page_Load(object sender, System.EventArgs e){ if (!Page.IsPostBack)
{ //Código executado somente no primeiro pedido}
//este código será executado em todos os pedidos}
![Page 62: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/62.jpg)
62
Como se processa o Postback?
![Page 63: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/63.jpg)
63
DEMO 05: Page_Load Definir procedimento Page_load Utilizar a propriedade Page.IsPostBack
![Page 64: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/64.jpg)
64
Análise da “Maquina de Calcular”
![Page 65: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/65.jpg)
65
O que é validação da informação inserida pelo utilizador?
Verifica se o valor inserido num controlo está minimamente coerente com a informação pretendida
Bloqueia o processamento da página até que todos os valores sejam validos.
![Page 66: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/66.jpg)
66
Validação no Cliente e no Servidor
ASP.NET cria processos de validação no cliente e no servidor Validação no Cliente
Dependente do browserResposta imediataReduz número de pedidos ao servidor
Validação no servidorRepete todas as validações efectuadas no clientePermite utilizar recursos externos (p.e. bases de dados)
Valid?
Valid?
User Enters Data
No
No
Yes
Yes
Error Message
Client
Server
Web ApplicationProcessed
![Page 67: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/67.jpg)
67
Controlos de Validação
O ASP.NET fornece controlos de validação para:
Comparar valores Comparar com uma fórmula pré-definida Verificar se um valor pertence a um
intervalo Confrontar com expressões regulares Exigir preenchimento de informação Sumariar as validações inseridas numa
página
![Page 68: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/68.jpg)
68
Controlos de ValidaçãoComo utilizar?
1. Colocar o controlo na web form
2. Seleccionar o controlo que se pretende validar
3. Configurar as propriedades de validação
<asp:Type_of_Validator id="Validator_id"runat="server"ControlToValidate="txtName"ErrorMessage="Message_for_error_summary"Display="static|dynamic|none"Text="Text_to_display_by_input_control">
</asp:Type_of_Validator>
<asp:Type_of_Validator id="Validator_id"runat="server"ControlToValidate="txtName"ErrorMessage="Message_for_error_summary"Display="static|dynamic|none"Text="Text_to_display_by_input_control">
</asp:Type_of_Validator>
<asp:TextBox id="txtName" runat="server" /><asp:TextBox id="txtName" runat="server" />
1111
2222
3333
![Page 69: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/69.jpg)
69
Controlos de validaçãoCombinação
Pode haver vários controlos de validação afectos a um mesmo objecto
Somente o RequiredFieldValidator verifica se a informação está preenchida
![Page 70: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/70.jpg)
70
Controlos de Validação
RequiredFieldValidatorInitialValue
CompareValidatorValueToCompare or ControlToCompareTypeOperator
RangeValidatorMinimumValueMaximumValueType
![Page 71: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/71.jpg)
71
Controlos de Validação
RegularExpressionValidatorPermite confrontar valores com expressões regularesO VS .NET já inclui algumas expressões regulares (p.e: emails)
<asp:RegularExpressionValidator …ControlToValidate=“Email"…ValidationExpression="\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" >*</asp:RegularExpressionValidator >
<asp:RegularExpressionValidator …ControlToValidate=“Email"…ValidationExpression="\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" >*</asp:RegularExpressionValidator >
![Page 72: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/72.jpg)
72
Controlos de ValidaçãoCustomValidator
Permite validar no cliente, no servidor, ou em ambosClientValidationFunctionOnServerValidate
<asp:RequiredFieldValidator id="txtNameValidator" runat="server"
ControlToValidate="txtOddNum"
ClientValidationFunction="ClientValidateName"
OnServerValidate="ServerValidateName"
ErrorMessage="You must enter an odd number"
display="dynamic" Text="*">
</asp:RequiredFieldValidator>
<asp:RequiredFieldValidator id="txtNameValidator" runat="server"
ControlToValidate="txtOddNum"
ClientValidationFunction="ClientValidateName"
OnServerValidate="ServerValidateName"
ErrorMessage="You must enter an odd number"
display="dynamic" Text="*">
</asp:RequiredFieldValidator>
![Page 73: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/73.jpg)
73
Controlos de Validação
ValidationSummary Apresenta as mensagens de erro de todos
os controlos de validação da página
<asp:ValidationSummary id="valSummary"runat="server"HeaderText="These errors were found:"ShowSummary="True" DisplayMode="List"/>
<asp:ValidationSummary id="valSummary"runat="server"HeaderText="These errors were found:"ShowSummary="True" DisplayMode="List"/>
![Page 74: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/74.jpg)
74
Propriedade Page.IsValid
Verifica o estado de todos os controlos de validação inseridos na página
private void cmdSubmit_Click(object s, System.EventArgs e)
{ if (Page.IsValid)
{ Message.Text = "Page is Valid!";
// Actualização de uma base de dados ou
// outra tarefa sensivel
}
}
private void cmdSubmit_Click(object s, System.EventArgs e)
{ if (Page.IsValid)
{ Message.Text = "Page is Valid!";
// Actualização de uma base de dados ou
// outra tarefa sensivel
}
}
![Page 75: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/75.jpg)
75
DEMO 06: Validações Usar controlos de validação Utilizar a propriedade Page.IsValid
![Page 76: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/76.jpg)
76
O que é um User Control? Um User Control é um Web Server Control definido
pelo programador Tem extensão .ascx Simplifica a reutilização de componentes de
interface dentro de uma aplicação web Não contem as etiquetas <HTML>, <BODY> e
<FORM> Possui directiva @Control
Contem o código para tratar os seus próprios eventos
<%@ Control Language=“c#" %><%@ Control Language=“c#" %>
![Page 77: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/77.jpg)
77
Porquê utilizar User Controls?Reutilização de componentes de
interface e de código
Page2.aspx
Control1.ascx
Page1.aspx
Page3.aspx
Aplicação A Aplicação B
![Page 78: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/78.jpg)
78
Criação de um User ControlDois métodos:
Utilizando o Visual Studio .NET Converter uma página ASP.NET para user control
A interacção é feita alterando as propriedades
As páginas utilizadoras do controlo deverão estar em flow layout
public int pNum{ get { return Convert.ToInt32(txtNum.Text); } set { txtNum.Text = Convert.ToString(value); }}
public int pNum{ get { return Convert.ToInt32(txtNum.Text); } set { txtNum.Text = Convert.ToString(value); }}
![Page 79: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/79.jpg)
79
DEMO 07: User Control Criação de User Controls Utilização de User Controls
![Page 80: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/80.jpg)
80
Gestão do estado
First Name
Last Name
Please enter your logon information:
John
SubmitSubmit
Chen
Web ServerWeb Server
Login.aspx Login.aspx
Web ServerWeb Server
Hello John Chen
Greetings.aspx
Please enter your logon information:
John
SubmitSubmit
Chen
Hello
Greetings.aspx
I forget who you are!!
I forget who you are!!
First Name
Last Name
Sem gestão de estado Com gestão de estado
![Page 81: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/81.jpg)
81
Tipos de Gestão de Estado
No ServidorNo Servidor No ClienteNo Cliente
Objecto Application Informação fica disponível para todos
os utilizadores da aplicação
Cookies Ficheiro de texto com informação do
estado
Objecto Session Só o utilizador da sessão terá acesso
á informação
Propriedade ViewState Permite guardar valores entre pedidos
á página
Base de Dados Poderá ser utilizada uma BD para
manter informação do estado
Query strings Informação inserida no final da URL
![Page 82: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/82.jpg)
82
Gestão de Estado no Servidor O objecto Application permite armazenar
informação de toda a aplicação web O uso de Session está condicionado á sessão
do browser cliente A sessão ASP.NET é identificada pela
propriedade SessionID do objecto session
Servidor WebServidor Web
ClienteCliente
Variáveis de Sessão e de Aplicação
SessionID
![Page 83: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/83.jpg)
83
Gestão de Estado no Cliente
Utilização de cookies (persistentes / temporárias) Menos fiável que a gestão no servidor
O utilizador pode apagar as cookies Limite ao tamanho da informação
Restrições no cliente ao tamanho de ficheiros
ServidorServidor
ClienteCliente
Cookies
![Page 84: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/84.jpg)
84
Global.asax
Só um ficheiro Global.asax por aplicação Web
Colocado na raiz da directoria virtualUtilizado para tratar os eventos dos
objectos Application e Session
![Page 85: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/85.jpg)
85
Global.asax Eventos tratados
Application_StartExecutado imediatamente antes da aplicação ser criada.
Session_StartExecutado imediatamente antes da sessão ser criada
Application_BeginRequestExecutado por cada pedido ao servidor
Application_EndRequestExecutado no final de cada pedido ao servidor
Application_AuthenticateRequestExecutado antes da autenticação de um utilizador
Application_ErrorExecutado por cada erro não previsto na aplicação
Session_EndExecutado imediatamente antes do final da instância da sessão
Application_EndExecutado imediatamente antes do final da instância da aplicação
![Page 86: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/86.jpg)
86
Métodos de Autenticação do ASP.NET
Windows Assenta no SO e no IIS Utilizador faz um pedido seguro que é transferido ao IIS Após as credencias serem verificadas, o pedido é
satisfeito Forms
É feito um acesso não autenticado a um Form HTML onde serão fornecidas as credenciais
Após verificação é atribuída uma cookie de autenticação
Microsoft Passport Serviço de autenticação centralizado XML Web Service
![Page 87: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/87.jpg)
87
Métodos de Autenticação
![Page 88: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/88.jpg)
88
Comparação entre os Métodos de Autenticação
MétodoMétodo VantagensVantagens DesvantagensDesvantagens
Windows
Utiliza infra-estrutura Windows
Controla acesso a informação sensível
Não se adequa à maioria das aplicações web
Forms
Adequado à maioria das aplicações web
Suporta todos os tipos de clientes
Baseia-se em cookies
Microsoft Passport
Uma só assinatura para diversos sites web
Não necessita de armazenar informação do utilizador
Baseia-se em cookies Serviço pago
![Page 89: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/89.jpg)
89
Acesso a Bases de DadosADO .NET
Namespace System.Data Modos de aceder à informação
OLE DB – namespace System.Data.OleDb SQL - namespace System.Data.SqlClient
Ap
lica
tivo
.N
et
Informação
InformaçãoSQL Server
Objectos OLE DB
OLE DB
Objectos OLE DB
TDS
![Page 90: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/90.jpg)
90
Objecto Connection SqlConnection / OleDbConnection
Parâmetros da string de conexão Connection timeout Data source Initial catalog Integrated security
Password Persist security info Provider User ID
string strConn = "data source=localhost; " + "initial catalog=northwind; " +
"integrated security=true";
SqlConnection conn = new SqlConnection(strConn);
string strConn = "data source=localhost; " + "initial catalog=northwind; " +
"integrated security=true";
SqlConnection conn = new SqlConnection(strConn);
![Page 91: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/91.jpg)
91
Objecto Command
SqlCommand / OleDbCommand
Executar comandos SQL ExecuteReader – executa comandos que devolvam
linhas de informação (ex: SELECT) ExecuteNonQuery – executa comandos que
retornam dados (ex: INSERT, UPDATE, DELETE) ExecuteScalar - retorna um valor único como
resultado de uma função agregada (ex: COUNT)
SqlCommand com = new SqlCommand();com.Connection = conn;com.CommandText="Select * From Tabela;";
SqlDataReader Info = com.ExecuteReader();
SqlCommand com = new SqlCommand();com.Connection = conn;com.CommandText="Select * From Tabela;";
SqlDataReader Info = com.ExecuteReader();
![Page 92: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/92.jpg)
92
Objecto DataReader
SqlDataReader / OleDbDataReader
Percurso forward-only em modo read-only Propriedades e métodos mais usais
FieldCount IsClosed Close GetString GetInt32
SqlDataReader Info = com.ExecuteReader();DataGrid1.DataSource=Info;
SqlDataReader Info = com.ExecuteReader();DataGrid1.DataSource=Info;
![Page 93: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/93.jpg)
93
Acesso a Bases de Dados
![Page 94: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/94.jpg)
94
DEMO 08: ADO .NET Objectos Connection, Command e DataReader
![Page 95: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/95.jpg)
Perguntas & Respostas
![Page 96: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/96.jpg)
96
Mais Informação...
MSDN Library http://msdn.microsoft.com/library
.net framework center http://msdn.microsoft.com/netframework/
C# http://msdn.microsoft.com/vcsharp/
ASP.net http://www.asp.net
Laboratório .net do ISEP/IPP http://www.dei.isep.ipp.pt/labdotnet/
![Page 97: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/97.jpg)
97
Tutoriais
http://www.gotdotnet.com/
http://www.w3schools.com/aspnet/
http://www.asp-php.net/tutorial/asp.net/
http://www.dei.isep.ipp.pt/ades/
![Page 98: Desenvolvimento ASP.net. 1 Framework.net Common Language Runtime Assembly Garbage Collection Conceitos de C# Características da Linguagem Operadores e](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fc497959413d8ba1cb/html5/thumbnails/98.jpg)
Desenvolvimento ASP.net