1 / 98

Desenvolvimento ASP

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

kato
Download Presentation

Desenvolvimento ASP

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Desenvolvimento ASP.net

  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

  3. Framework .net

  4. Visão .net

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

  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.

  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

  8. CLR - Arquitectura 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.

  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

  10. Compilação e Execução 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

  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

  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

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

  14. DEMO 01 • 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

  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

  16. Garbage Collection

  17. Conceitos de C#

  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

  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

  20. Classes e namespaces • Organização do código dentro de classes • Classes organizadas dentro de namespaces namespace Demo { public class MyClass { ... } }

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

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

  23. Herança • Apenas existe herança simples public class MyClassBase { ... public void Func() { ... } } public class MyClassDeriv : MyClassBase { ... public new void Func() { base.Func(); ... } }

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

  25. Operadores • Atribuição • = • Relacionais • < <= > >= == != • Lógicos • && || ! • Aritméticos • + - * / % • += -= *= /= ++ --

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

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

  28. Ciclos // 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);

  29. Estruturas Condicionais // 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; }

  30. ASP.net

  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”

  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

  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

  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

  35. Aplicação ASP.net 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

  36. Modelo de Execução ASP.net

  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

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

  39. IDE VS.net Editor/Browser Object Browser Toolbox SolutionExplorer Properties Server Explorer Task List Dynamic Help

  40. Processo de Desenvolvimento 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

  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)

  42. Estrutura de Ficheiros da Aplicação Web 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

  43. DEMO 02: Visual Studio .NET • Apresentação do IDE VS.NET • Criar um Projecto de Aplicação Web em C#

  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”%> <body MS_POSITIONING="GridLayout"> <form id="Form1" method="post" runat="server">

  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

  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 ,...)

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

  48. HTML server controls • Baseados nos elementos HTML • Runat=“server” • Existem no namespace System.Web.UI.HtmlControls <input type="text" id="txtName"runat="server" />

  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> <input name="TextBox1" type="text" value="Text_to_Display" Id="TextBox1"/>

  50. Escolher o Controlo Adequado 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

More Related