Desenvolvimento asp net
Download
1 / 98

Desenvolvimento ASP - PowerPoint PPT Presentation


  • 71 Views
  • Uploaded on

Desenvolvimento ASP.net. 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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Desenvolvimento ASP' - kato


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

Desenvolvimento asp net1
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




  • Framework net1

    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

    Framework .net


    Common language runtime clr
    Common Language Runtime utilização de componentes para a criação de: - 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.


    Clr servi os
    CLR - Serviços utilização de componentes para a criação de:

    • 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


    Clr arquitectura
    CLR - Arquitectura utilização de componentes para a criação de:

    Faz a integração com a .NET Framework class library.

    Base Class Library (.NET Framework) Support

    Sequencia a distribuição dos componentes

    Tratamento de erros

    Procedimentos de segurança baseados na identificação do utilizador e na localização do código

    Thread Support

    COM Marshaler

    Fornece classes e interfaces para utilização de threads

    Type Checker

    Exception Manager

    Converte código MSIL para código nativo optimizado

    Security Engine

    Debug Engine

    Impede conversões inadequadas e gere o acesso às variáveis

    MSIL to Native

    Compilers (JIT)

    Code

    Manager

    Garbage

    Collector (GC)

    Permite fazer debug da aplicação

    Gestão de memória

    Class Loader

    Controla a execução do código

    Gere a metadata e o carregamento das classes necessárias.


    Clr caracter sticas
    CLR - Características utilização de componentes para a criação de:

    • 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


    Compila o e execu o
    Compilação e Execução utilização de componentes para a criação de:

    EXE/DLL(MSIL and metadata)

    SourceCode

    Compiler

    ClassLibraries(MSIL and metadata)

    Class Loader

    JIT Compilerwith optionalverification

    Call to anuncompiledmethod

    Trusted,pre-JITedcode only

    ManagedNative Code

    Execution

    Security Checks

    Runtime Engine


    Assembly
    Assembly utilização de componentes para a criação de:

    • 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


    Demo 01 ildasm exe
    DEMO 01: utilização de componentes para a criação de: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


    Demo 01
    DEMO 01 utilização de componentes para a criação de:

    • 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();

    }

    }

    }


    Demo 011
    DEMO 01 utilização de componentes para a criação de:

    • Ficheiro Demo1.vb

    • vbc /t:exe /out:Demo1VB.exe Demo1.vb

    • ildasm Demo1VB.exe

    • Imports System

    • namespace Ades

    • public class Demo

      • public Shared Sub Main()

      • Console.WriteLine("Ola Mundo")

      • Console.ReadLine()

      • end Sub

    • end class

    • end namespace


    Algoritmo garbage collection
    Algoritmo utilização de componentes para a criação de: “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


    Garbage collection
    Garbage Collection utilização de componentes para a criação de:


    Conceitos de c

    Conceitos de C# utilização de componentes para a criação de:


    Introdu o ao c
    Introdução ao C# utilização de componentes para a criação de:

    • 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


    Tipos de dados
    Tipos de dados utilização de componentes para a criação de:

    • 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


    Classes e namespaces
    Classes e namespaces utilização de componentes para a criação de:

    • Organização do código dentro de classes

    • Classes organizadas dentro de namespaces

    namespace Demo {

    public class MyClass {

    ...

    }

    }


    M todos
    Métodos utilização de componentes para a criação de:

    • Sintaxe semelhante ao C/C++

    • Podem ser públicos ou privados

    • Suporta overloading

    public class MyHelloWorld {

    ...

    public void SayHello()

    { ... }

    private void SetTitle(String Title)

    { ... }

    }


    Passagem de par metros
    Passagem de parâmetros utilização de componentes para a criação de:

    • 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)

        { ... }


    Heran a
    Herança utilização de componentes para a criação de:

    • Apenas existe herança simples

      public class MyClassBase {

      ...

      public void Func() { ... }

      }

      public class MyClassDeriv : MyClassBase {

      ...

      public new void Func() { base.Func(); ... }

      }


    Propriedades
    Propriedades utilização de componentes para a criação de:

    • 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(); }

    }

    ...

    }


    Operadores
    Operadores utilização de componentes para a criação de:

    • Atribuição

      • =

    • Relacionais

      • < <= > >= == !=

    • Lógicos

      • && || !

    • Aritméticos

      • + - * / %

      • += -= *= /= ++ --


    Cria o de objectos
    Criação de objectos utilização de componentes para a criação de:

    // definição da classe

    public class MyClass { ... }

    // definição da variável

    MyClass obj;

    // criação do objecto

    obj = new MyClass();


    Construtores
    Construtores utilização de componentes para a criação de:

    • 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) { ... }

    }


    Ciclos
    Ciclos utilização de componentes para a criação de:

    // repetição n vezes

    for (int x = 0; i < vec.Length; i++)

    Console.WriteLine(vec[i]);

    // repetição condicional

    int i = 0;

    while (i < vec.Length)

    {

    Console.WriteLine(vec[i]);

    i++;

    }

    // enumeração (colecções)

    foreach (String x in vec)

    Console.WriteLine(x);


    Estruturas condicionais
    Estruturas Condicionais utilização de componentes para a criação de:

    // teste de decisão

    if (i < vec.Length)

    Console.WriteLine(vec[i]);

    else

    Console.WriteLine(“Erro!!!”);

    // teste múltiplo

    switch (x)

    {

    case 1: ...; break;

    case 2: ...; goto case 3;

    case 3: ...; break;

    default: ...; break;

    }


    Asp net

    ASP.net utilização de componentes para a criação de:


    O que o asp net
    O que é o ASP.net? utilização de componentes para a criação de:

    • 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”


    Iis internet information server
    IIS – Internet Information Server utilização de componentes para a criação de:

    • 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


  • Coloca o de conte dos asp net no iis
    Colocação de conteúdos ASP.net no IIS utilização de componentes para a criação de:

    • 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


    Coloca o de conte dos asp net no iis1
    Colocação de conteúdos ASP.Net no IIS utilização de componentes para a criação de:

    • 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


    Aplica o asp net
    Aplicação ASP.net utilização de componentes para a criação de:

    ASP.NET Web Server

    Clients

    Web Forms

    Web.config

    Page1.aspx

    Code-behind pages

    OutputCache

    Internet

    Page2.aspx

    machine. config

    global.asax

    WebServices

    Database

    Components

    XML Data


    Modelo de execu o asp net
    Modelo de Execução ASP.net utilização de componentes para a criação de:


    Visual studio net
    Visual Studio .NET utilização de componentes para a criação de:

    • 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


    Templates de projectos
    Templates utilização de componentes para a criação de: de Projectos

    • A lista dos templates de projectos baseia-se no perfil do utilizador e na escolha do tipo de projecto


    Ide vs net
    IDE VS.net utilização de componentes para a criação de:

    Editor/Browser

    Object Browser

    Toolbox

    SolutionExplorer

    Properties

    Server Explorer

    Task List

    Dynamic Help


    Processo de desenvolvimento
    Processo de Desenvolvimento utilização de componentes para a criação de:

    Fase de análise

    e especificação

    Criar um

    projecto

    Produzir a interface

    e escrever código

    Fase de

    testes

    Compilar

    Visual Studio .NET

    Disponibilizar


    Ficheiros da aplica o web
    Ficheiros da aplicação Web utilização de componentes para a criação de:

    • 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)


    Estrutura de ficheiros da aplica o web
    Estrutura de Ficheiros da Aplicação Web utilização de componentes para a criação de:

    Inetpub

    My Documents

    wwwroot

    Visual StudioProjects

    Solution

    ProjectA

    Solution.sln

    ProjectA.csproj

    WebForm1.aspx

    WebForm1.aspx.cs(Code-behind page)

    Development Files

    Assembly Files

    Bin

    Build

    ProjectA.dll


    Demo 02 visual studio net
    DEMO 02: utilização de componentes para a criação de:Visual Studio .NET

    • Apresentação do IDE VS.NET

    • Criar um Projecto de Aplicação Web em C#


    O que s o web forms
    O que são utilização de componentes para a criação de: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”%>

    <body MS_POSITIONING="GridLayout">

    <form id="Form1" method="post" runat="server">


    Web forms modelo de objectos
    Web Forms utilização de componentes para a criação de: – 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


  • Web forms atributo form
    Web Forms utilização de componentes para a criação de: – 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 ,...)


    Server controls
    Server Controls utilização de componentes para a criação de:

    • 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”/>


    Html server controls
    HTML server controls utilização de componentes para a criação de:

    • Baseados nos elementos HTML

    • Runat=“server”

    • Existem no namespace System.Web.UI.HtmlControls

    <input type="text" id="txtName"runat="server" />


    Web server controls
    Web server controls utilização de componentes para a criação de:

    • Existem no namespace System.Web.UI.WebControls

      Sintaxe ASP.net

      HTML gerado

    <asp:TextBox id="TextBox1"

    runat="server">Text_to_Display

    </asp:TextBox>

    <input name="TextBox1" type="text"

    value="Text_to_Display"

    Id="TextBox1"/>


    Escolher o controlo adequado
    Escolher o Controlo Adequado utilização de componentes para a criação de:

    Optar por

    HTML Server Controls se:

    Optar por

    Web Server Controls se:

    Preferir trabalhar com a estrutura de objectos HTML

    Preferir trabalhar com um modelo de programação orientado a objectos

    Pretender fornecer rapidamente funcionalidades ASP.NET a páginas HTML já existentes

    Pretender desenvolver páginas que serão visualizadas por diversos tipos de browsers

    O controlo irá interagir com scripts no cliente e no servidor

    Necessitar de funcionalidades especificas tais como um “calendar”

    A largura de banda for limitada

    A largura de banda disponível não constituir um problema


    Demo 03 server controls
    DEMO 03: utilização de componentes para a criação de:Server Controls

    • Criar um Web Form

    • Utilizar Server Controls (Label, Button e calendar)


    Como programar em asp net
    Como programar em ASP .NET utilização de componentes para a criação de:

    • 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)


    Programa o inline
    Programação Inline utilização de componentes para a criação de:

    • 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>


    Programa o code behind
    Programação utilização de componentes para a criação de:Code-Behind

    • Código e HTML em ficheiros separados

      • Programadores e Web Designers podem trabalhar de forma independente

    Um só ficheiro

    Ficheiros separados

    código

    código

    <tags>

    <tags>

    Form1.aspx.cs

    Form1.aspx

    Form1.aspx


    Como funcionam as p gina com code behind
    Como funcionam as página com utilização de componentes para a criação de: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.cs

    public class WebForm1 {

    private void cmd1_Click()

    { …

    }

    }

    Page1.aspx

    <% @ Page Language="c#"Inherits="Project.WebForm1" Codebehind="Page1.aspx.cs" Src = "Page1.aspx.cs" %>


    O que s o event procedures
    O que são utilização de componentes para a criação de:Event Procedures?

    • Acções em resposta à interacção do utilizador com os controlos numa página


    Scripts no cliente
    Scripts no cliente utilização de componentes para a criação de:

    • Só utilizados com controlos HTML

    • Interpretado pelo browser e executado no cliente

    • Não acede a recursos do servidor

    • <SCRIPT language="language">

    .HTM Pages

    Internet


    Scripts no servidor
    Scripts no servidor utilização de componentes para a criação de:

    • Utilizado em qualquer tipo de Server Control

    • Compilado e executado no servidor

    • Tem acesso aos recursos do servidor

    • <SCRIPT language=“cs“ runat="server">

    .ASPX Pages

    Internet


    Tratamento de eventos no cliente e no servidor
    Tratamento de eventos no Cliente e no Servidor utilização de componentes para a criação de:


    Demo 04 eventos
    DEMO 04: utilização de componentes para a criação de:Eventos

    • Criar procedimentos que permitam responder a eventos capturados pelos controlos da web form


    Tratamento do evento postback uso de page ispostback
    Tratamento do evento utilização de componentes para a criação de: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

    }


    Como se processa o postback
    Como se processa o utilização de componentes para a criação de:Postback?


    Demo 05 page load
    DEMO 05: utilização de componentes para a criação de:Page_Load

    • Definir procedimento Page_load

    • Utilizar a propriedade Page.IsPostBack


    An lise da maquina de calcular
    Análise da utilização de componentes para a criação de:“Maquina de Calcular”


    O que valida o da informa o inserida pelo utilizador
    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.


    Valida o no cliente e no servidor
    Validação no Cliente e no Servidor utilizador?

    User Enters Data

    • ASP.NET cria processos de validação no cliente e no servidor

      • Validação no Cliente

        • Dependente do browser

        • Resposta imediata

        • Reduz número de pedidos ao servidor

      • Validação no servidor

        • Repete todas as validações efectuadas no cliente

        • Permite utilizar recursos externos (p.e. bases de dados)

    Error Message

    Valid?

    No

    Client

    Yes

    Server

    Valid?

    No

    Yes

    Web ApplicationProcessed


    Controlos de valida o
    Controlos de Validação utilizador?

    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


    Controlos de valida o como utilizar
    Controlos de Validação utilizador? Como utilizar?

    • Colocar o controlo na web form

    • Seleccionar o controlo que se pretende validar

    • Configurar as propriedades de validação

    1

    2

    3

    <asp:TextBox id="txtName" runat="server" />

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


    Controlos de valida o combina o
    Controlos de validação utilizador? Combinação

    • Pode haver vários controlos de validação afectos a um mesmo objecto

    • Somente o RequiredFieldValidator verifica se a informação está preenchida


    Controlos de valida o1
    Controlos de Validação utilizador?

    • RequiredFieldValidator

      • InitialValue

  • CompareValidator

    • ValueToCompare or ControlToCompare

    • Type

    • Operator

  • RangeValidator

    • MinimumValue

    • MaximumValue

    • Type


  • Controlos de valida o2
    Controlos de Validação utilizador?

    • RegularExpressionValidator

      • Permite confrontar valores com expressões regulares

      • O VS .NET já inclui algumas expressões regulares (p.e: emails)

    <asp:RegularExpressionValidator …

    ControlToValidate=“Email"…ValidationExpression=

    "\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"

    >*</asp:RegularExpressionValidator >


    Controlos de valida o3
    Controlos de Validação utilizador?

    • CustomValidator

      • Permite validar no cliente, no servidor, ou em ambos

        • ClientValidationFunction

        • OnServerValidate

    <asp:RequiredFieldValidator id="txtNameValidator" runat="server"

    ControlToValidate="txtOddNum"

    ClientValidationFunction="ClientValidateName"

    OnServerValidate="ServerValidateName"

    ErrorMessage="You must enter an odd number"

    display="dynamic" Text="*">

    </asp:RequiredFieldValidator>


    Controlos de valida o4
    Controlos de Validação utilizador?

    • 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"/>


    Propriedade page isvalid
    Propriedade utilizador? 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

    }

    }


    Demo 06 valida es
    DEMO 06: utilizador? Validações

    • Usar controlos de validação

    • Utilizar a propriedade Page.IsValid


    O que um user control
    O que é um utilizador? 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#" %>


    Porqu utilizar user controls

    Control1.ascx utilizador?

    Porquê utilizar User Controls?

    • Reutilização de componentes de interface e de código

    Aplicação A

    Aplicação B

    Page3.aspx

    Page1.aspx

    Page2.aspx


    Cria o de um user control
    Criação de um utilizador? User Control

    • Dois 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);

    }

    }


    Demo 07 user control
    DEMO 07: utilizador? User Control

    • Criação de User Controls

    • Utilização de User Controls


    Gest o do estado
    Gestão do estado utilizador?

    Sem gestão de estado

    Com gestão de estado

    Login.aspx

    Login.aspx

    Please enter your logon information:

    Please enter your logon information:

    First Name

    First Name

    John

    John

    Last Name

    Last Name

    Chen

    Chen

    Web Server

    Submit

    Submit

    Web Server

    Greetings.aspx

    Greetings.aspx

    Hello

    Hello John Chen

    I forget who you are!!



    Gest o de estado no servidor
    Gestão de Estado no Servidor utilizador?

    • 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 Web

    Cliente

    Variáveis de Sessão e de Aplicação

    SessionID


    Gest o de estado no cliente
    Gestão de Estado no Cliente utilizador?

    • 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

    Servidor

    Cliente

    Cookies


    Global asax
    Global.asax utilizador?

    • Só um ficheiro Global.asax por aplicação Web

    • Colocado na raiz da directoria virtual

    • Utilizado para tratar os eventos dos objectos Application e Session


    Global asax1
    Global.asax utilizador?

    • Eventos tratados

      • Application_Start

        • Executado imediatamente antes da aplicação ser criada.

    • Session_Start

      • Executado imediatamente antes da sessão ser criada

  • Application_BeginRequest

    • Executado por cada pedido ao servidor

  • Application_EndRequest

    • Executado no final de cada pedido ao servidor

  • Application_AuthenticateRequest

    • Executado antes da autenticação de um utilizador

  • Application_Error

    • Executado por cada erro não previsto na aplicação

  • Session_End

    • Executado imediatamente antes do final da instância da sessão

  • Application_End

    • Executado imediatamente antes do final da instância da aplicação


  • M todos de autentica o do asp net
    Métodos de Autenticação do ASP.NET utilizador?

    • 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




  • Acesso a bases de dados ado net
    Acesso a Bases de Dados utilizador? ADO .NET

    • Namespace System.Data

    • Modos de aceder à informação

      • OLE DB – namespace System.Data.OleDb

      • SQL - namespace System.Data.SqlClient

    Objectos

    OLE DB

    OLE DB

    Informação

    Aplicativo .Net

    Objectos

    OLE DB

    TDS

    Informação

    SQL Server


    Objecto connection
    Objecto Connection utilizador?

    • SqlConnection / OleDbConnection

    • Parâmetros da string de conexão

      • Connection timeout

      • Data source

      • Initial catalog

      • Integrated security

    string strConn = "data source=localhost; " +

    "initial catalog=northwind; " +

    "integrated security=true";

    SqlConnection conn = new SqlConnection(strConn);

    • Password

    • Persist security info

    • Provider

    • User ID


    Objecto command
    Objecto Command utilizador?

    • 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();


    Objecto datareader
    Objecto DataReader utilizador?

    • 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;



    Demo 08 ado net
    DEMO 08: utilizador? ADO .NET

    • Objectos Connection, Command e DataReader



    Mais informa o
    Mais Informação... utilizador?

    • 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/


    Tutoriais
    Tutoriais utilizador?

    • http://www.gotdotnet.com/

    • http://www.w3schools.com/aspnet/

    • http://www.asp-php.net/tutorial/asp.net/

    • http://www.dei.isep.ipp.pt/ades/



    ad