PDC - Engenharia - Plataforma Microsoft .NET
-
Upload
slidesteltools -
Category
Documents
-
view
629 -
download
3
Transcript of PDC - Engenharia - Plataforma Microsoft .NET
Plataforma .Net
Plataforma .Net
☑É uma iniciativa da empresa Microsoft, que visa uma plataforma única para desenvolvimento e execução de sistemas e aplicações.
☑A plataforma .NET é executada sobre uma Common Language Runtime - CLR interagindo com um Conjunto de Bibliotecas Unificadas (framework)
Plataforma .Net
☑O código fonte é compilado pela linguagem escolhida gerando um código intermediário em uma linguagem chamada MSIL (Microsoft Intermediate Language).
☑O novo código fonte gera um arquivo em linguagem de baixo nível, de acordo com o tipo de projeto.
Compilados .Net
☑EXE - Arquivos Executáveis, Programas
☑DLL - Biblioteca de Funções
☑ASPX - Página Web
☑ASMX - Web Service
Tipos de Dados
☑Value types: Armazenam seu conteúdo ao invés de armazenar a referência para um dado .(Ex: System.Int32 )
☑Reference Types: armazenam endereços ao invés de dados (Ex: System.String, System.Array,System.Object)
Tipos de Value Types
☑Built-in type: são tipos bases fornecidos pelo próprio .Net
☑User-defined types: são conhecidos como Structures ou simplesmente Structs
☑Enumerators: é um símbolo relacionado a um valor fixo
Exemplo Struct C#
struct Pair{ int _value1; int _value2; //construtorpublic Pair(int value1, int value2){
_value1 = value1; _value2 = value2;
}
public string ToString() {
return "The value1 is " + _value1+ " and the value2 is" + _value2;
}}
Bibliotecas de Classe Básica
☑ADO.NET é a tecnologia dentro da plataforma .NET para acesso a diversas fontes de dados.
☑ASP.NET é um framework de programação construído sobre o CLR que permite a construção de aplicações Web.
☑XML Web Services são componentes Web que podem ser compartilhados por aplicações dentro de uma Intranet ou através da Internet
Garbage collector
☑Inicialmente todos objetos são considerados lixos
☑As raízes (Ex. Referencias Estáticas, Referencias para objetos passados como parâmetros num método) são localizadas
☑Um grafo é construído.
☑Objetos que não estão no grafo são considerados lixo.
☑Reorganização da memória (Gerações).
Gerações
☑O GC considera que objetos recém criados possuem uma maior probabilidade de serem removidos.
☑GC Heap é divido em três gerações, Gen 0, Gen 1, Gen2.
☑A geração 0 armazena objetos recém criados.
☑A gereação 1 armazena objetos sobreviventes a limpeza do GC na Gen 1
☑A geração 2 armazena objetos sobreviventes a limpeza do GC na Gen 2.
C#
Nome
C♯ é C Sharp
Brincadeira com C++
++ adição
♯ musical sobe o tom
♯ não é caractere padrão
# sinal de numeração utilizado
Características
Orientada a Objetos
Tipagem estática...
DataTable table = new DataTable();
E Dinâmica
var otherTable = new DataTable();
Fortemente Tipada
otherTable = “teste”; //ERRO
if(1) {... //ERRO
Feijão com arroz
using System; //import
namespace App.Teste { //package
public class TesteFinal : TestAbstrato, ITeste
{
private static readonly char sep = ‘&’; //static final
private string name;
public TesteFinal(string name)
{
this.name = name;
}
Properties
public class Pessoa {
public string Nome { get; set; }
private int idade;
public int Idade {
get { return idade; }
set {
if (value < 0) { throw new Exception(); }
else { idade = value; }
}
}
Partial Class
//arquivo a
public partial class Aluno : System.Web.UI.Page {...
//arquivo b
public partial class Aluno : IPessoa {...
//seria o mesmo que
public class Aluno : System.Web.UI.Page, IPessoa {...
Using Resources
using(BinaryWriter writer = new BinaryWriter(file))
{
for(int i = 0; i < array.Length; i++)
{
writer.Write(array[i]);
}
}
//writer.Close() chamado automaticamente
Named Arguments
//IMCUtils declaracao
public static float Calcula (int peso, int altura) {...
//utilização
IMCUtils.Calcula(70, 175);
IMCUtils.Calcula(peso: 70, altura: 175);
IMCUtils.Calcula(altura: 175, peso: 70);
//IMC = 22,86. Parabens, peso ideal =)
Optional Arguments
public void setBorder(int size = 1, string color = “#000”) {...
setBorder(1, “#ff0000”); //normal
setBorder();
setBorder(1);
setBorder(“#ff0000”); //erro
setBorder(color: “#ff0000”); //ok
Lambda Expressions
public class Aluno {
public string Nome { get; set; }
public int Nota { get; set; }
}
IList<Aluno> alunos;
var aprovados = alunos.Where(a => a.Nota >= 6);
//aprovados é uma coleção de alunos
Delegate (parte 1)
public class Aluno
{
public delegate bool Selector(Aluno aluno);
public int Nota { get; set; }
public bool Esta(Selector selector)
{
return selector(this);
}
}
Delegate (parte 2)
public class Regras
{
public static Aluno.Selector aprovado = a => a.Nota >= 6;
//utilizacao
aluno.Esta(aprovado) ? “Parabens” : “Loser”);
ASP .Net
☑ Tecnologia para Desenvolvimento de Aplicações Web
☑ Lançado em 2002 (.NET 1.0) (ASP+)
☑Atualmente se encontra na Versão 4.5
☑Sucessor do ASP 3.0 (Clássico)
☑Construído sobre a Plataforma .NET
ASP .NET
Principais Diferenças (ASP x ASP .NET)
☑ ASP☑ Código Interpretado;
☑ Código Misturado;
☑ VbScript ;
☑ Benefícios da Tecnologia☑ Performance
☑ Segurança
☑ Código Gerenciado (CLR, GC, BCL)
☑ ASP .NET☑ Código Compilado
☑ Código Separado
☑ Multi Linguagem
ViewState
☑Esta propriedade cria um campo oculto no formuláriocom os dados preenchidos nos controles, evitando quetenhamos a necessidade de realimenta-los manualmen-te;
☑A propriedade enableviewstate é utilizada pois caso umcontrole não possa retornar preenchido, como senha,este valor é desabilitado, impedindo que ao ser enviadoao servidor e retornar venha com o valor anterior.
PostBack
☑O processo de postback é quando o servidor recebe osdados que o cliente digitou em uma caixa de texto ouqualquer outro controle, faz o processo interno e retornaao cliente a mesma página já com processo completo edevidamente alterada.
☑O autopostback é muito utilizado em combo para quequando o usuário escolher um valor na lista, porexemplo o estado, este valor é enviado ao servidor quepopula a lista de Cidades e retorna ao cliente.
Ciclo de Vida do ASP .NET
Ciclo de Vida do ASP .NET
Estágio Descrição
Solicitação de página A solicitação de página ocorre antes que o ciclo de vida da página comece.Quando a página é solicitada por um usuário, ASP.NET determina se a página precisa ser analisada e compilada (portanto, começando a vida de uma página) ou se uma versão em cache da página pode ser enviada em resposta sem executar a página.
Iniciar Na etapa inicial, as propriedades da página, como Request e Response são definidas.Nesse estágio, a página também determina se o request é um postback ou um novo request e define a propriedade IsPostBack.Além disso, durante a etapa inicial, a propriedade UICulture da página é definida.
Inicialização da página Durante a inicialização de página, os controles da mesma estão disponíveis e é definida a propriedade UniqueID de cada um deles.Os temas também são aplicados para a página.Se a solicitação atual for um postback, os dados PostBack ainda não foram carregados e valores da propriedade do controle não foram restaurados com os valores do ViewState.
Carga Durante o carregamento, se a solicitação atual é um postback, as propriedades de controle serão carregadas com informações recuperadas do ViewState e do ControlState.
Validação Durante a validação, o método Validate de todos os controles de validação são chamados, este define a propriedade IsValid de cada um dos controles validadores da página.
Tratamento de evento PostBack
Se a solicitação for uma postback, quaisquer manipuladores de eventos são chamados.
Renderização Antes da renderização, o viewstate é salvo para a página e todos os controles.Durante a fase de renderização, a página chamará o método Render para cada controle, fornecendo um escritor de texto que grava a saída para o OutputStream() da propriedade Response da página.
Descarregar Unload é chamado quando a página tiver sido processada, enviada para o cliente e está pronta para ser descartada.Neste ponto, as propriedades da página, como Response e Request são descarregados e toda limpeza será executada.
Propriedades do Projeto
Ao utilizar este tipo de projeto automaticamente o visual Studio irá abrir uma página de nome Default.aspx que é a página padrão do projeto.
Principais Componentes ASP .NET
☑Page (ASPX) – Armazena a interface de usuário (HTML)
☑Code Behind (CS) – Armazena o código (.NET) da página(ASPX)
☑Web.Config – Armazena as configurações da aplicaçãoWEB
☑Master Page – Define um layout padrão para as páginas
Componentes do projeto
Projeto
Configuração da aplicação em XML
Ferramentas web
Permite eventos de inicialização e finalização de sessão
Criação e Configuração de Páginas
Default.aspx
<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"CodeFile="Default.aspx.cs" Inherits="_Default" %>
<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent"></asp:Content><asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<h2>Welcome to ASP.NET!
</h2><p>
To learn more about ASP.NET visit <a href="http://www.asp.net" title="ASP.NET Website">www.asp.net</a>.</p><p>
You can also find <a href="http://go.microsoft.com/fwlink/?LinkID=152368&clcid=0x409"title="MSDN ASP.NET Docs">documentation on ASP.NET at MSDN</a>.
</p></asp:Content>
Criação e Configuração de Páginas
Site.master
<%@ Master Language="C#" AutoEventWireup="true" CodeFile="Site.master.cs" Inherits="SiteMaster" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"><head runat="server">
<title></title><link href="~/Styles/Site.css" rel="stylesheet" type="text/css" /><asp:ContentPlaceHolder ID="HeadContent" runat="server"></asp:ContentPlaceHolder>
</head><body>
<div class="main"><asp:ContentPlaceHolder ID="MainContent" runat="server"/>
</div></body></html>
Informações importantes
☑Todo formulário asp deve estar em uma tag form com o atributo runat=“server” setado, do contrário uma excessão é lançada.
Ex.:<form id="form1" runat="server">
<div><asp:Button ID="Button1" runat="server" Text="Button" />
</div></form>
☑Pode haver apenas uma tag form runat=“server” por arquivo aspx.
Informações importantes
☑Cada elemento asp pode ser referenciado code behindatravés de seu id.
Ex.: Default.aspx
<form id="form1" runat="server"><asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><asp:Button ID="Button1" runat="server" Text="Button OnClick="Button1_Click“ />
</form>
public partial class _Default : System.Web.UI.Page{
protected void Page_Load(object sender, EventArgs e) { }protected void Button1_Click(object sender, EventArgs e){
string value = TextBox1.Text;}
}
Default.aspx.cs
Web User Controls
☑A classe UserControl está associado a arquivos com extensões .ascx.
☑Permite criar controles customizados;
☑Permite aninhar controles;
Dúvidas
Av. Cesário Alvim, 3521Bairro Brasil – CEP38400-696Uberlândia – MG
(34) 3222-9571http://[email protected]