E/S 489 4: : : : : : 701 5: : : : ADO.NET

Documentos relacionados
PROGRAMAÇÃO EM C#

Sumário. Parte I JavaScript básica. 1 Introdução a JavaScript Estrutura léxica Tipos, valores e variáveis... 28

Sumário. Capítulo 1 Introdução 29. Capítulo 2 Utilizando Objetos 59

1 Explorando o ambiente de desenvolvimento integrado do Visual Studio... 35

CONTEÚDO PROGRAMÁTICO

Sumário. Introdução 1

Formação ASP.NET MVC com C#

MERGULHANDO NO PHYTON MERGULHANDO NO. O guia rápido e prático para dominar o Python. Mark Pilgrim

GRUPO: Rafael Igor Vanderlei Vieira

Fundament n os s da platafo f rm r a. NE N T André Menegassi

Sumário. 1 Introdução 1. Parte um: A linguagem Objective-C 2 Programação com Objective-C 7. 3 Classes, objetos e métodos 27

C# (C Sharp) Avançado

Introdução Explorando o ambiente de desenvolvimento integrado do Visual Studio... 31

C# (C Sharp) - Web Forms (Módulo 1) Avançado

Sumário INTRODUÇÃO AO DESENVOLVIMENTO COM VISUAL STUDIO. Oportunidades de desenvolvimento com Visual Basic 2013 e a Windows Store 3

DESENVOLVIMENTO DE SOFTWARE AULA 1

Professor Leo Larback Esta apresentação pode ser baixada livremente no site

SUMÁRIO CAPÍTULO 1 INTRODUÇÃO AO JAVA...1

VB.NET - Web Forms (Módulo 1) Avançado

Pré-requisitos: Conhecimentos de informática gerencial e lógica de programação.

1) DADOS DA OBRA: Programando em Java 2 Teoria e Aplicações Rui Rossi dos Santos 2004 Axcel Books (

Formação JAVA Web.

Framework.NET. Linguagem de Programação III. Mauro Lopes Carvalho Silva. Professor EBTT DAI Departamento Acadêmico de Informática Campus Monte Castelo

Parte I Princípios básicos do Microsoft.NET Framework

Sumário. Prefácio Capítulo 1 Orientação e primeiras etapas Capítulo 2 Dados: trabalhando com texto e números... 40

Curso online de. Formação em Front-End. Plano de Estudo

Apresentando o.net Framwork

Desenvolva de qualquer sistema operacional para qualquer sistema operacional. Sem limites.

Introdução 1 PARTE I: A LINGUAGEM DA WEB 5

CONTEÚDO PROGRAMÁTICO

PHP. Programando com Orientação a Objetos. Pablo Dall Oglio. Novatec

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular PROGRAMAÇÃO Ano Lectivo 2012/2013

2 Instalando e configurando o ambiente de desenvolvimento do Microsoft SQL Server

4ª Edição Pablo Dall Oglio

ADIANTI FRAMEWORK PARA PHP

Material III-Bimestre Introdução e conceitos fundamentais da Linguagem C#

CONTEÚDO PROGRAMÁTICO

Java. Guia do Programador. Peter Jandl Junior. Novatec

1.1 o que é um algoritmo... 6

Programação Estruturada Orientada a Objetos

A c c e s s. Data Lógica Informática. Ambiente Real Conhecimento de Verdade. Carga Horária (referencial): 30 horas. Pré-requisito: Windows

ADIANTI FRAMEWORK PARA PHP

Tutorial C# - O que é o WPF (Windows Presentation Foundation)

Framework.NET, Microsoft Visual C# 2010 Express e Elementos da Linguagem C#

Web Interativa com Ajax e PHP

Ambiente de Programação Visual. Framework.NET. Prof. Mauro Lopes. Ambiente de Programação Visual Prof. Mauro Lopes

Aula 01. Prof. Diemesleno Souza Carvalho

Microsoft Visual Studio Community 2013

Java Básico. Carga Horária: 32 horas. Pré-requisito: Lógica de Programação; JAVA. Conteúdo Programático

Miguel Grinberg. Novatec

FCA - Editora de Informática xv

HUGO SANTIAGO PERES AUTOMATIZANDO TESTES DE SOFTWARE COM SELENIUM


Dreamweaver CC_15x21.indd 1 06/04/ :04:22

Conceitos Básicos de Programação

Indira Knight. Novatec

Introdução ao C# com o Microsoft Visual Studio Community 2015

Ambiente de Programação Visual. Framework.NET. Prof. Mauro Lopes. Ambiente de Programação Visual Prof. Mauro Lopes

Java para Desenvolvimento Web Carga Horária: 40 Horas.

CONTEÚDO PROGRAMÁTICO

ASP.NET. Guia do Desenvolvedor. Felipe Cembranelli. Novatec Editora.

PARA QUEM É ESTE CURSO?

OPORTUNIDADES: Analista de Sistemas Sênior

1.5 PROGRAMAÇÃO DE JOGOS EM AMBIENTE DE REA LIDADE AUMENTADA AMBIENTES INTEGRADOS DE DESENVOLVIMENTO DE JOGOS 19

GERAÇÃO DE ARQUIVOS DE SCRIPT EM PHP. Acadêmico: Leonardo Sommariva Orientador: Alexander Roberto Valdameri

Programando com ASP.NET MVC. Aprenda a desenvolver aplicações web utilizando a arquitetura MVC. Alfredo Lotar. Novatec

2.1 Circuitos electrónicos analógicos Circuitos electrónicos digitais...29

PADI 2015/16. Aula 1 Introdução à Plataforma.NET

Ruby on Rails Avançado

OFICINA DA PESQUISA PROGRAMAÇÃO APLICADA À CIÊNCIA DA COMPUTAÇÃO

Editor: Rubens Prates PY Editoração eletrônica: Carolina Kuwabata Revisão gramatical: Patrizia Zagni Capa: Edinei Gonçalves/Carolina Kuwabata

Sumário. Técnicas de banco de dados simples. 1 Como explorar o Microsoft Access Parte I

JavaScript. de Alto Desempenho. Nicholas C. Zakas. Novatec

ASP.NET Web Services. José Antônio da Cunha IFRN

WEB DESIGN I. Dreamweaver Básico

Transcrição:

Sumário Resumido Sumário... viii Sobre o Autor... xxv Sobre o Revisor Técnico (da versão em inglês)... xxvi Agradecimentos... xxvii Introdução... xxviii n n n Parte 1 : Apresentando o C# e a Plataforma.NET... 1 n Capítulo 1: A Filosofia do.net... 3 n Capítulo 2: Construindo Aplicativos no C#... 41 n n n Parte 2: Principais Construções da Programação no C#... 71 n Capítulo 3: Principais Construções da Programação no C#, Parte I... 73 n Capítulo 4: Principais Construções da Programação no C#, Parte II... 125 n Capítulo 5: Definindo Tipos de Classe Encapsulados... 167 n Capítulo 6: Compreendendo a Herança e o Polimorfismo... 219 n Capítulo 7: Compreendendo a Manipulação Estruturada das Exceções... 259 n Capítulo 8: Compreendendo o Tempo de Vida de um Objeto... 289 n n n Parte 3: Construções Avançadas da Programação C#... 319 n Capítulo 9: Trabalhando com Interfaces... 321 n Capítulo 10: Compreendendo Generics... 361 v

Resumido n Capítulo 11: Delegates, Eventos e Lambdas... 397 n Capítulo 12: Recursos Avançados da Linguagem C#... 439 n Capítulo 13: LINQ para Objetos... 489 n n n Parte 4: Programando com Assemblies.NET... 523 n Capítulo 14: Configurando Assemblies.NET... 525 n Capítulo 15: Reflexão de Tipo, Ligação Tardia e Programação Baseada em Atributos... 581 n Capítulo 16: Processos, AppDomains e Contextos de Objeto... 625 n Capítulo 17: Entendendo a CIL e o Papel dos Assemblies Dinâmicos... 653 n Capítulo 18: Tipos Dinâmicos e a Dynamic Language Runtime... 701 n n n Parte 5: Apresentando as Bibliotecas.NET da Classe de Base... 725 n Capítulo 19: Programação Multithread e Paralela... 727 n Capítulo 20: Arquivo de E/S e Serialização de Objetos... 775 n Capítulo 21: ADO.NET Parte I: A Camada Conectada... 825 n Capítulo 22: ADO.NET Parte II: A Camada Desconectada... 885 n Capítulo 23: ADO.NET Parte III: Entity Framework... 951 n Capítulo 24: Apresentando o LINQ para XML... 993 n Capítulo 25: Apresentando o Windows Communication Foundation... 1013 n Capítulo 26: Apresentando o Windows Workflow Foundation 4... 1077 n n n Parte 6: Construindo Interfaces de Usuário Desktop com WPF... 1115 n Capítulo 27: Apresentando o Windows Presentation Foundation e o XAML... 1117 n Capítulo 28: Programando com Controles WPF... 1179 n Capítulo 29: Serviços de Renderização Gráfica WPF... 1245 n Capítulo 30: Recursos, Animações e Estilos WPF... 1285 n Capítulo 31: Templates de Controle WPF e UserControls... 1325 vi

Resumido n n n Parte 7: Construindo Aplicativos Web com ASP.NET... 1377 n Capítulo 32: Construindo Páginas Web com ASP.NET... 1379 n Capítulo 33: Controles Web ASP.NET, Master Pages e Temas... 1429 n Capítulo 34: Técnicas de Gerenciamento do Estado ASP.NET... 1473 n Apêndice A: Programando com Windows Forms... 1511 n Apêndice B: Desenvolvimento.NET Independente de Plataforma com Mono... 1561 n Índice... 1583 vii

Sumário Sobre o Autor... xxv Sobre o Revisor Técnico (da versão em inglês)... xxvi Agradecimentos... xxvii Introdução... xxviii n n n Parte 1: Apresentando o C# e a Plataforma.NET...1 n Capítulo 1: A Filosofia do.net...3 Compreendendo a Situação Anterior...3 A Solução.NET...6 Apresentando os Blocos de Construção da Plataforma.NET (CLR, CTS e CLS)...7 Outras Linguagens de Programação Compatíveis com o.net...10 Uma Visão Geral dos Assemblies.NET...12 Compreendendo o Common Type System...19 Compreendendo a Common Language Specification...23 Compreendendo a Common Language Runtime...25 A Distinção entre Assembly/Namespace/Tipo...27 Explorando um Assembly Usando o ildasm.exe...33 Explorando um Assembly Usando o Reflector...35 Distribuindo o Runtime do.net...36 viii

A Natureza Independente de Plataforma do.net...37 Resumo...39 n Capítulo 2: Construindo Aplicativos no C#...41 O Papel do.net Framework 4 SDK...41 Construindo Aplicativos C# Utilizando o csc.exe...42 Construindo Aplicativos.NET Utilizando o Notepad++...49 Construindo Aplicativos.NET Utilizando o SharpDevelop...50 Construindo Aplicativos.NET Utilizando o C# Express...53 Construindo Aplicativos.NET Utilizando o Visual Studio...54 Resumo...69 n n n Parte 2: Principais Construções da Programação C#...71 n Capítulo 3: Principais Construções da Programação C# Parte I...73 A Anatomia de um Programa C# Simples...73 Um Aparte Interessante: Alguns Membros Adicionais da Classe System.Environment...79 A Classe System.Console...81 Tipos de Dados do Sistema e Notação Abreviada C#...86 Trabalhando com Dados de String...97 Estreitando e Ampliando as Conversões dos Tipos de Dados...106 Compreendendo as Variáveis Locais Digitadas Implicitamente...112 Construções de Iteração C#...117 Construções de Decisão e os Operadores Relacionais/de Igualdade...119 Resumo...122 n Capítulo 4: Principais Construções da Programação C# Parte II...125 Modificadores de Métodos e Parâmetros...125 Compreendendo os Arrays do C#...137 Compreendendo o Tipo Enum...144 ix

SUmário Compreendendo o Tipo Structure...151 Compreendendo os Tipos de Valor e os Tipos de Referência...154 Compreendendo os Tipos Anuláveis (Nullable) do C#...162 Resumo...165 n Capítulo 5: Definindo Tipos de Classe Encapsulados...167 Apresentando o Tipo de Classe C#...167 Compreendendo os Construtores...170 O Papel da Palavra-Chave this...174 Compreendendo a Palavra-Chave static...181 Definindo os Pilares da OOP...188 Modificadores de Acesso C#...192 Primeiro Pilar: Serviços de Encapsulamento do C#...194 Compreendendo as Propriedades Automáticas...206 Compreendendo a Sintaxe do Inicializador de Objetos...210 Trabalhando Campos de Dados Constantes...214 Compreendendo os Tipos Parciais...217 Resumo...218 n Capítulo 6: Compreendendo a Herança e o Polimorfismo...219 A Mecânica Básica da Herança...219 Revisando os Diagramas de Classe do Visual Studio...224 Segundo Pilar da OPP: os Detalhes da Herança...226 Programando para Contenção/Delegação...232 Terceiro Pilar da OPP: O Suporte Polimórfico do C#...235 Compreendendo as Regras de Conversão da Classe Básica/Derivada...247 Classe-Mãe Principal: System.Object...250 Resumo...258 x

n Capítulo 7: Compreendendo a Manipulação Estruturada das Exceções...259 Ode aos Erros, Bugs e Exceções...259 O Papel da manipulação de Exceções.NET...260 O Exemplo mais Simples Possível...263 Configurando o Estado de uma Exceção...267 Exceções no Nível do Sistema (System.SystemException)...272 Exceções no Nível do Aplicativo (System.ApplicationException)...273 Processando Diversas Exceções...277 Quem está Gerando o quê?...282 O Resultado das Exceções não Ligadas...283 Depurando as Exceções não Ligadas Utilizando o Visual Studio...284 Uma Palavra Rápida em Relação às Exceções de Estado Corrompido (CSE)...285 Resumo...287 n Capítulo 8: Compreendendo o Tempo de Vida de um Objeto...289 Classes, Objetos e Referências...289 O Tempo Básico de Vida de um Objeto...291 O Papel das Raízes do Aplicativo...294 Compreendendo as Gerações de Objeto...296 Coleta de Lixo (Garbage Collection) Simultânea no.net 1.0-3.5...297 O Tipo System.GC...298 Construindo Objetos Finalizáveis...302 Construindo Objetos Descartáveis...305 Construindo Tipos Finalizáveis e Descartáveis...309 Compreendendo a Instanciação Tardia de Objetos...313 Resumo...316 xi

n n n Parte 3: Construções Avançadas da Programação C#...319 n Capítulo 9: Trabalhando com Interfaces...321 Compreendendo os Tipos de Interface...321 Definindo Interfaces Personalizadas...325 Implementando uma Interface...327 Chamando Membros da Interface no Nível do Objeto...329 Interfaces como Parâmetros...331 Interfaces como Valores de Retorno...333 Arrays de Tipos de Interface...334 Implementando Interfaces Através do Visual Studio...335 Resolvendo os Conflitos de Nome Através da Implementação Explícita da Interface...336 Projetando Hierarquias de Interfaces...339 Construindo Tipos Enumeráveis (IEnumerable e IEnumerator)...343 Construindo Objetos Clonáveis (ICloneable)...349 Construindo Objetos Comparáveis (IComparable)...354 Resumo...359 n Capítulo 10: Compreendendo os Generics...361 Problemas com as Coleções não Generics...361 O Papel dos Parâmetros de Tipo Generics...371 O Namespace System.Collections.Generic...376 Criando Métodos Genéricos Personalizados...385 Criando Estruturas e Classes Genéricas Personalizadas...388 Limitando os Parâmetros do Tipo...392 Resumo...395 n Capítulo 11: Delegates, Eventos e Lambdas...397 Compreendendo o Tipo Delegate do.net...397 xii

Definindo um Tipo Delegate no C#...398 As Classes Básicas System.MulticastDelegate e System.Delegate...400 O Exemplo Mais Simples Possível de Delegate...402 Enviando Notificações do Estado do Objeto usando Delegates...405 Sintaxe de Conversão do Grupo de Métodos...411 Compreendendo a Covariância do Delegate...413 Compreendendo os Delegates Genéricos...415 Compreendendo os Eventos C#...418 Compreendendo os Métodos Anônimos do C#...427 Compreendendo as Expressões Lambda...430 Resumo...437 n Capítulo 12: Recursos Avançados da Linguagem C#...439 Compreendendo os Métodos Indexadores...439 Compreendendo a Sobrecarga do Operador...444 Compreendendo as Conversões dos Tipos Personalizados...454 Compreendendo os Métodos de Extensão...460 Compreendendo os Métodos Parciais...470 Compreendendo os Tipos Anônimos...473 Trabalhando com Tipos de Ponteiro...479 Resumo...487 n Capítulo 13: LINQ para Objetos...489 Construções de Programação Específicas do LINQ...489 Compreendendo o Papel do LINQ...493 Aplicando Consultas LINQ em Arrays Primitivos...496 Retornando o Resultado de uma Consulta LINQ...503 Aplicando Consultas LINQ nos Objetos da Coleções...505 xiii

Investigando os Operadores de Consulta LINQ do C#...508 Representação Interna das Instruções de Consulta LINQ...517 Resumo...522 n n n Parte 4: Programando com Assemblies.NET...523 n Capítulo 14: Configurando Assemblies.NET...525 Definindo Namespaces Personalizados...525 O Papel dos Assemblies.NET...532 Compreendendo o Formato de um Assembly.NET...533 Construindo e Consumindo um Assembly com um Arquivo...538 Construindo e Consumindo um Assembly com Diversos Arquivos...550 Compreendendo os Assemblies Privados...553 Compreendendo os Assemblies Compartilhados...558 Consumindo um Assembly Compartilhado...567 Configurando Assemblies Compartilhados...569 Compreendendo os Assemblies de Política de Publicação...574 Compreendendo o Elemento <codebase>...576 O Namespace System.Configuration...577 Resumo...579 n Capítulo 15: Reflexão de Tipo, Ligação Tardia e Programação Baseada em Atributos...581 A Necessidade dos Metadados do Tipo...581 Compreendendo a Reflexão...586 Construindo um Visualizador Personalizado de Metadados...590 Carregando Assemblies Dinamicamente...596 Refletindo os Assemblies Compartilhados...598 Compreendendo a Ligação Tardia...600 Compreendendo o Papel dos Atributos.NET...604 xiv

Construindo Atributos Personalizados...609 Atributos no Nível do Assembly (e no Nível do Módulo)...612 Refletindo Atributos Através da Ligação Inicial...614 Refletindo Atributos Através da Ligação Tardia...615 Colocando em Perspectiva a Reflexão, a Ligação Tardia e os Atributos Personalizados...617 Construindo um Aplicativo Extensível...618 Resumo...624 n Capítulo 16: Processos, AppDomains e Contextos de Objeto...625 O Papel de um Processo do Windows...625 Interagindo com Processos na Plataforma.NET...627 Compreendendo os Domínios do Aplicativo.NET...637 Interagindo com o Domínio do Aplicativo Padrão...640 Criando Novos Domínios do Aplicativo...643 Compreendendo os Limites de Contexto de Objeto...648 Resumindo Processos, AppDomains e Contexto...652 Resumo...652 n Capítulo 17: Entendendo a CIL e o Papel dos Assemblies Dinâmicos...653 Razões para Aprender a Gramática da CIL...653 Examinando as Diretivas, Atributos e Códigos de Operação CIL...654 Acrescentando e Retirando: Natureza Baseada em Pilhas da CIL...656 Entendendo a Engenharia de Round-Trip...658 Entendendo as Diretivas e os Atributos CIL...666 Mapeamento da Biblioteca de Classes de Base.NET, do C# e dos Tipos de Dados CIL...673 Definindo os Membros do Tipo na CIL...674 Examinando os Códigos de Operação CIL...677 xv

Construindo um Assembly.NET com a CIL...683 Compreendendo os Assemblies Dinâmicos...688 Resumo...698 n Capítulo 18: Tipos Dinâmicos e a Dynamic Language Runtime...701 O Papel da Palavra-Chave dynamic do C#...701 O Papel da Dynamic Language Runtime (DLR)...707 Simplificando as Chamadas de Ligação Tardia Usando Tipos Dinâmicos...710 Simplificando a Interoperabilidade COM Usando Dados Dinâmicos...714 Interoperabilidade COM Usando os Recursos da Linguagem C# 4...718 Resumo...723 n n n Parte 5: Apresentando as Bibliotecas.NET da Classe de Base...725 n Capítulo 19: Programação Multithread e Paralela...727 Relacionamento entre Processo/AppDomain/Contexto/Thread...727 Uma Rápida Revisão do Delegate.NET...729 A Natureza Assíncrona dos Delegates...731 Chamando um Método de Modo Assíncrono...733 O Namespace System.Threading...739 A Classe System.Threading.Thread...741 Criando Programaticamente Threads Secundárias...744 O Caso de Simultaneidade...750 Programando com Callbacks de Temporizadores...758 Entendendo a CLR ThreadPool...760 Programação Paralela na Plataforma.NET...761 Consultas LINQ Paralelas (PLINQ)...771 Resumo...774 xvi

n Capítulo 20: Arquivo de E/S e Serialização de Objetos...775 Explorando o Namespace System.IO...775 Tipos Directory(Info) e File(Info)...777 Trabalhando com o Tipo DirectoryInfo...778 Trabalhando com o Tipo Directory...782 Trabalhando com o Tipo de Classe DriveInfo...783 Trabalhando com o Tipo File...789 Classe Abstrata Stream...792 Trabalhando com StreamWriters e StreamReaders...794 Trabalhando com StringWriters e StringReaders...798 Trabalhando com BinaryWriters e BinaryReaders...799 Vigiando os Arquivos Programaticamente...801 Compreendendo a Serialização de Objetos...804 Configurando Objetos para a Serialização...806 Escolhendo a Formatação da Serialização...808 Serializando Objetos Usando o BinaryFormatter...811 Serializando Objetos Usando o SoapFormatter...813 Serializando Objetos Usando o XmlSerializer...814 Serializando Coleções de Objetos...816 Personalizando o Processo de Serialização Soap/Binary...818 Resumo...824 n Capítulo 21: ADO.NET Parte I: A Camada Conectada...825 Uma Definição de Alto Nível do ADO.NET...825 Compreendendo os Provedores de Dados ADO.NET...827 Outros Namespaces ADO.NET...831 xvii

Os Tipos do Namespace System.Data...832 Abstraindo Provedores de Dados Usando Interfaces...837 Criando o Banco de Dados AutoLot...840 O Modelo de Geração do Provedor de Dados ADO.NET...847 Compreendendo a Camada Conectada do ADO.NET...853 Trabalhando com Leitores de Dados...859 Construindo uma Biblioteca Reutilizável de Acesso a Dados...861 Criando um Front-End de Console Baseado na IU...871 Compreendendo as Transações do Banco de Dados...877 Resumo...883 n Capítulo 22: ADO.NET Parte II: A Camada Desconectada...885 Compreendendo a Camada Desconectada do ADO.NET...885 Entendendo o Papel do DataSet...886 Trabalhando com DataColumns...889 Trabalhando com DataRows...893 Trabalhando com DataTables...897 Vinculando Objetos DataTable às GUIs Windows Forms...903 Trabalhando com Adaptadores de Dados...913 Adicionando a Funcionalidade de Desconexão a AutoLotDAL.dll...917 Objetos DataSet com Diversas Tabelas e Relações de Dados...921 Ferramentas de Designer do Banco de Dados Windows Forms...927 Isolando o Código de Banco de Dados Fortemente Tipado em uma Biblioteca de Classes...938 Programando com LINQ para DataSet...943 Resumo...949 n Capítulo 23: ADO.NET Parte III: Entity Framework...951 Compreendendo o Papel do Entity Framework...951 xviii

Construindo e Analisando seu Primeiro EDM...961 Programando no Modelo Conceitual...973 AutoLotDAL Versão 4, Agora com Entidades...979 Entidades de Ligação de Dados para as GUIs Windows Forms...986 Resumo...991 n Capítulo 24: Apresentando o LINQ para XML...993 Uma História de Duas APIs XML...993 Membros do Namespace System.Xml.Linq...997 Trabalhando com XElement e XDocument...1002 Manipulando um Documento XML na Memória...1006 Resumo...1011 n Capítulo 25: Apresentando o Windows Communication Foundation...1013 Uma mistura de APIs de Computação Distribuída...1013 O Papel do WCF...1019 Investigando os Assemblies Principais do WCF...1022 Os Modelos de Projeto WCF do Visual Studio...1023 A Composição Básica de um Aplicativo WCF...1025 Os ABCs do WCF...1027 Construindo um Serviço WCF...1032 Hospedando o Serviço WCF...1036 Construindo o Aplicativo Cliente WCF...1046 Simplificando as Definições da Configuração com o WCF 4...1050 Utilizando o Modelo de Projeto WCF Service Library...1057 Hospedando o Serviço WCF em um Serviço Windows...1061 Chamando um Serviço de Modo Assíncrono a partir do Cliente...1067 xix

Projetando Contratos de Dados WCF...1070 Resumo...1076 n Capítulo 26: Apresentando o Windows Workflow Foundation 4...1077 Definindo um Processo Comercial...1078 Construindo um Workflow Simples (Sem Problemas)...1079 O Runtime do WF 4...1083 Examinando as Atividades do Workflow 4...1088 Construindo o Fluxograma de um Workflow...1093 Isolando os Workflows em Bibliotecas Dedicadas...1103 Consumindo a Biblioteca de Workflows...1112 Resumo...1114 n n n Parte 6: Construindo Interfaces de Usuário Desktop com WPF...1115 n Capítulo 27: Apresentando o Windows Presentation Foundation e o XAML...1117 A Motivação Por Trás do WPF...1117 Diversos Tipos de WPF...1121 Analisando os Assemblies WPF...1126 Construindo um Aplicativo WPF sem XAML...1135 Construindo um Aplicativo WPF Usando Apenas o XAML...1144 Transformando a Marcação em um Assembly.NET...1150 Compreendendo a Sintaxe do XAML WPF...1154 Construindo um Aplicativo WPF Utilizando Arquivos Code-Behind...1165 Construindo Aplicativos WPF Utilizando o Visual Studio...1167 Resumo...1178 n Capítulo 28: Programando com Controles WPF...1179 Uma Pesquisa dos Principais Controles WPF...1179 Controlando o Layout do Conteúdo Usando Painéis...1184 xx

Construindo a Moldura de uma Janela Através de Painéis Aninhados...1195 Compreendendo os Comandos do Controle WPF...1200 Construindo uma Interface do Usuário WPF com o Expression Blend...1207 Construindo a Guia API Ink...1216 Apresentando a API Documents...1227 Construindo a Guia Documents...1228 Apresentando o Modelo de Ligação de Dados WPF...1235 Resumo...1244 n Capítulo 29: Serviços de Renderização Gráfica WPF...1245 Compreendendo os Serviços de Renderização Gráfica do WPF...1245 Renderizando Dados Gráficos Usando Formas...1247 Brushes e Pens WPF...1257 Aplicando Transformações Gráficas...1262 Trabalhando com Formas Usando o Expression Blend...1266 Apresentando Dados Gráficos Usando Desenhos e Geometrias...1271 Gerando Gráficos Vetoriais Complexos Usando o Expression Design...1275 Apresentando Dados Gráficos Usando a Camada Visual...1277 Resumo...1284 n Capítulo 30: Recursos, Animações e Estilos WPF...1285 Compreendendo o Sistema de Recursos WPF...1285 Trabalhando com os Recursos (Lógicos) de Objetos...1292 Compreendendo os Serviços de Animação do WPF...1303 Criando Animações no XAML...1309 Compreendendo o Papel dos Estilos WPF...1312 Gerando Estilos com o Expression Blend...1320 Resumo...1324 xxi

n Capítulo 31: Templates de Controle WPF e UserControls...1325 Compreendendo o Papel das Propriedades de Dependência...1325 Construindo uma Propriedade de Dependência Personalizada...1331 Compreendendo os Eventos Roteados...1337 Árvores Lógicas, Árvores Visuais e Modelos (Templates) Padrão...1341 Construindo um Template de Controle Personalizado com o Visual Studio...1348 Construindo UserControls Personalizados com Blend...1356 Criando o Aplicativo WPF Jackpot Deluxe...1364 Resumo...1375 n n n Parte 7: Construindo Aplicativos Web com ASP.NET...1377 n Capítulo 32: Construindo Páginas Web com ASP.NET...1379 O Papel do HTTP...1379 Compreendendo Aplicativos e Servidores Web...1380 O Papel do HTML...1382 O Papel do Script no Lado do Cliente...1388 Enviando para o Servidor Web...1390 Conjunto de Recursos da API ASP.NET...1391 Construindo uma Página Web ASP.NET com Um Arquivo Único...1395 Construindo uma Página Web ASP.NET usando Arquivos de Código...1406 Sites Web ASP.NET e Aplicativos Web ASP.NET...1412 Estrutura de Diretórios do Site Web ASP.NET...1413 Cadeia de Herança do Tipo Page...1416 Interagindo com a Solicitação HTTP de Entrada...1417 Interagindo com a Resposta HTTP de Saída...1421 xxii

O Ciclo de Vida de uma Página Web ASP.NET...1423 O Papel do Arquivo Web.config...1427 Resumo...1428 n Capítulo 33: Controles Web ASP.NET, Master Pages e Temas...1429 Compreendendo a Natureza dos Controles Web...1429 Principais Categorias dos Controles Web ASP.NET...1438 O Papel dos Controles de Validação...1457 Trabalhando com Temas...1465 Resumo...1471 n Capítulo 34: Técnicas de Gerenciamento do Estado ASP.NET...1473 A Questão do Estado...1473 Técnicas de Gerenciamento do Estado ASP.NET...1476 Compreendendo o Papel do Estado de Exibição do ASP.NET...1476 O Papel do Arquivo Global.asax...1479 Compreendendo a Distinção entre Aplicativo/Sessão...1483 Trabalhando com o Cache do Aplicativo...1488 Compreendendo os Cookies...1497 O Papel do Elemento <sessionstate>...1500 Compreendendo a API do Perfil ASP.NET...1502 Resumo...1509 n Apêndice A: Programando com Windows Forms...1511 Namespaces Windows Forms...1512 Construindo um Aplicativo Windows Forms Simples...1513 Modelo de Projeto Windows Forms do Visual Studio...1518 xxiii

A Anatomia de um Formulário...1525 Respondendo às Atividades do Mouse e do Teclado...1534 Projetando Caixas de Diálogo...1538 Apresentando Dados Gráficos Usando o GDI+...1545 Construindo um Aplicativo Windows Forms Completo...1551 Resumo...1560 n Apêndice B: Desenvolvimento.NET Independente de Plataforma com Mono...1561 A Natureza Independente de Plataforma do.net...1561 Obtendo e Instalando o Mono...1565 As Linguagens de Desenvolvimento Mono...1569 As Ferramentas de Desenvolvimento Mono Compatíveis com a Microsoft...1570 Construindo Aplicativos.NET com Mono...1572 Quem Está Usando o Mono?...1581 Sugestões para Mais Estudo...1581 Resumo...1582 n Índice...1583 xxiv