Upload
rogerio-moraes-de-carvalho
View
5.269
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Palestra sobre as novidades de diversas tecnologias do .NET Framework 4. Evolução da plataforma, .NET Framework 4, C# 4, Visual Basic 2010, ASP.NET Web Forms 4, ASP.NET AJAX 4, ASP.NET MVC 2, WPF 4, MEF, ADO.NET Entity Framework 4, WCF Data Services, WCF 4, WF 4, TPL, PLINQ, DLR, Interop, Compatibilidade e CLR 4.
Citation preview
.NET Framework 4.NET Framework 4
Rogério Moraes de CarvalhoRogério Moraes de CarvalhoConsultor e Instrutor de Tecnologias da InformaçãoConsultor e Instrutor de Tecnologias da Informação
rogeriomoraescarvalho.spaces.live.comrogeriomoraescarvalho.spaces.live.com
[email protected]@gmx.net
@rogeriomc@rogeriomc
Community Launch 2010 Community Launch 2010 no Distrito Federal #CLDFno Distrito Federal #CLDF20 de março de 201020 de março de 2010
Evolução da plataforma .NET
.NET 1.0.NET 1.0 .NET 1.1.NET 1.1 .NET 2.0.NET 2.0
3.03.03.53.5
.NET 4.NET 4
2002 2003 2008 CTP2005-08
CLR 1.0CLR 1.0 CLR 1.1CLR 1.1 CLR 2.0CLR 2.0 CLR 4CLR 4
SP1SP1
© 2010, Rogério Moraes de Carvalho E-mail: [email protected] Twitter: @rogeriomc
.NET Framework 4
Base Class LibrariesBase Class Libraries
CLR (Common Language Runtime)JIT & NGENJIT & NGEN
Garbage CollectorGarbage Collector
Security Model
Security Model
Exception HandlingException Handling
Loader & Binder
Loader & Binder
WFWFWindows Forms
Windows Forms DLRDLR
ASP.NET(Web
Forms, MVC)
ASP.NET(Web
Forms, MVC)
WCFWCF ……WPFWPF
ADO.NET(Entity
Framework, LINQ to SQL,
...)
ADO.NET(Entity
Framework, LINQ to SQL,
...)
WCSWCS
© 2010, Rogério Moraes de Carvalho E-mail: [email protected] Twitter: @rogeriomc
Alguns cenários em .NET 4.0
Aplicações DesktopAplicações Desktop
WPF 4MEF
Aplicações WebAplicações Web
ASP.NET Web Forms 4ASP.NET AJAX 4ASP.NET MVC 2
ServiçosServiços
WCF 4
© 2010, Rogério Moraes de Carvalho E-mail: [email protected] Twitter: @rogeriomc
Alguns cenários em .NET 4.0
Computação Computação paralelaparalela
Task Parallel Library (TPL)Parallel LINQ (PLINQ)
Acesso a dadosAcesso a dados
Entity Framework 4WCF Data Services
Ambiente de execuçãoAmbiente de execução
DLR IntegrationType Equivalence
In-Process SxS
© 2010, Rogério Moraes de Carvalho E-mail: [email protected] Twitter: @rogeriomc
Linguagem C# 4.0
Suporte dinâmico
Nomes e argumentos opcionais
Covariância e contravariânciaCovariância permite usar um tipo mais derivado
do especificado num parâmetro genérico e contravariância permite usar um tipo menos derivado
dynamic calc = ObterCalculadora();dynamic calc = ObterCalculadora();
public void EscreverInfoLog(string mensagem, DateTime instante = DateTime.Now)
{…}
public void EscreverInfoLog(string mensagem, DateTime instante = DateTime.Now)
{…}
© 2010, Rogério Moraes de Carvalho E-mail: [email protected] Twitter: @rogeriomc
Linguagem Visual Basic 2010
Propriedades implementadas automaticamente
Inicializadores de coleção
Continuador de linha implícito
Public Property Nome As StringPublic Property Nome As String
Dim primos As New List(Of Integer) From {2, 3, 5, 7, 11}Dim primos As New List(Of Integer) From {2, 3, 5, 7, 11}
Dim processos = From proc In Process.GetProcesses() Where proc.MainWindowTitle.Contains("Visual Studio") Select proc.ProcessName, proc.Id, proc.MainWindowTitle
Dim processos = From proc In Process.GetProcesses() Where proc.MainWindowTitle.Contains("Visual Studio") Select proc.ProcessName, proc.Id, proc.MainWindowTitle
© 2010, Rogério Moraes de Carvalho E-mail: [email protected] Twitter: @rogeriomc
Linguagem Visual Basic 2010
Suporte a expressões Lambda em subrotinas
Suporte a tipos dinâmicos
Covariância e contravariânciaCovariância permite usar um tipo mais derivado do
especificado num parâmetro genérico e contravariância permite usar um tipo menos derivado
Dim escreverLinha = Sub(x) Console.WriteLine(x)Dim escreverLinha = Sub(x) Console.WriteLine(x)
Public Class ArquivoSomenteLeitura Inherits DynamicObjectPublic Class ArquivoSomenteLeitura Inherits DynamicObject
© 2010, Rogério Moraes de Carvalho E-mail: [email protected] Twitter: @rogeriomc
ASP.NET Web Forms 4 – Web.config limpo
.NET 3.0, 3.5, 3.5 SP1Mesmo ambiente de execução do .NET 2.0 (CLR 2)O machine.config não foi atualizado para evitar
sobrescrita de configurações personalizadasAs funcionalidades pós .NET 2.0 (ASP.NET AJAX, ASP.NET
Dynamic Data, ...) tinham que ficar no Web.config local
.NET 4.0 Inclui um novo ambiente de execução (CLR 4)Existe um novo machine.config
© 2010, Rogério Moraes de Carvalho E-mail: [email protected] Twitter: @rogeriomc
ASP.NET Web Forms 4 – Linha selecionada
Persistência da linha selecionada nos controles de dados GridView e ListViewNas versões anteriores ao ASP.NET 4, a linha
selecionada era baseada no índice da páginaPor exemplo, se a quarta linha fosse selecionada na
página 1, ao navegar para a página 2 a quarta linha desta estaria selecionada
No ASP.NET 4, os controles GridView e ListView têm a propriedade EnablePersistedSelectiontrue: seleção baseada no valor da(s) chave(s)
© 2010, Rogério Moraes de Carvalho E-mail: [email protected] Twitter: @rogeriomc
ASP.NET Web Forms 4 – Client ID1) Página mestra (não possui ID)
2) Página de conteúdo (ID: "ContentPlaceHolderPrincipal")
3) DropDownList (ID: "DropDownListUF")
ctl00_ContentPlaceHolderPrincipal_DropDownListUFClientID:
Maior controle do ID cliente no ASP.NET Web Forms 4 ClientIDMode: AutoID, Static, Predictable, Inherit (padrão)
© 2010, Rogério Moraes de Carvalho E-mail: [email protected] Twitter: @rogeriomc
ASP.NET Web Forms 4 – RoteamentoRequisição:Produtos/Softwares
Roteamento ASP.NETRota:
Produtos/{Categoria} -> Produtos.aspx
Roteamento ASP.NETRota:
Produtos/{Categoria} -> Produtos.aspx
Página Web FormsNome do arquivo:
Produtos.aspxValor de roteamento:
Categoria= "Softwares"
Página Web FormsNome do arquivo:
Produtos.aspxValor de roteamento:
Categoria= "Softwares"
Resposta
Programaticamente:Page.RouteData.Values["Categoria"]Declarativamente em controles de fonte de dados:<asp:RouteParameter Name="Categoria" RouteKey="Categoria"/>
Programaticamente:Page.RouteData.Values["Categoria"]Declarativamente em controles de fonte de dados:<asp:RouteParameter Name="Categoria" RouteKey="Categoria"/>
© 2010, Rogério Moraes de Carvalho E-mail: [email protected] Twitter: @rogeriomc
ASP.NET Web Forms 4 – Chart Control
© 2010, Rogério Moraes de Carvalho E-mail: [email protected] Twitter: @rogeriomc
ASP.NET AJAX 4 – Client Templates
Do lado do servidor (ASP.NET Web Forms) <ItemTemplate> <li><%# Eval("Nome") %></li> </ItemTemplate>
Do lado do cliente (ASP.NET AJAX 4) <ul class="sys-template"> <li>{{Nome}}</li> </ul>
© 2010, Rogério Moraes de Carvalho E-mail: [email protected] Twitter: @rogeriomc
ASP.NET AJAX 4 - DataContext
ASMX
WCF
WCFData Services
ASP.NET MVCJsonResult
Etc.
1. Requisição
2. Dados JSONDataContext
3. Modificação dos dados 4. Salva os dados
© 2010, Rogério Moraes de Carvalho E-mail: [email protected] Twitter: @rogeriomc
ASP.NET MVC 2
Templated HelpersHtml.DisplayForSimilar a como os field templates trabalham no
ASP.NET Dynamic DataÁreas
Permite organizar grandes projetos em múltiplas pequenas seções
Suporte a controladores assíncronos
© 2010, Rogério Moraes de Carvalho E-mail: [email protected] Twitter: @rogeriomc
ASP.NET MVC 2
Suporte para DefaultValueAttribute em parâmetros de métodos de ação
Suporte a vinculação de dados binários com Model Binders
Html.ValidationSummary Helper Method pode apresentar erros em nível de modelo
Biblioteca para validação do lado do cliente...
© 2010, Rogério Moraes de Carvalho E-mail: [email protected] Twitter: @rogeriomc
WPF 4 – DataGrid
DataGrid (100% compatível com o Silverlight)Controle que apresenta dados tabulados
© 2010, Rogério Moraes de Carvalho E-mail: [email protected] Twitter: @rogeriomc
WPF 4 – Calendar
Calendar (100% compatível com o Silverlight)Controle que permite ao usuário selecionar uma
ou mais datas numa apresentação visual
© 2010, Rogério Moraes de Carvalho E-mail: [email protected] Twitter: @rogeriomc
WPF 4 – DatePicker
DatePicker (100% compatível com o Silverlight)Controle que permite ao usuário selecionar uma
data num quadro de combinação
© 2010, Rogério Moraes de Carvalho E-mail: [email protected] Twitter: @rogeriomc
WPF 4 – Suporte a toque e manipulação
Suporte a toque e manipulaçãoO WPF 4 permite que aplicações respondam a
toquesUsando um ou mais dedos em
um dispositivo sensível a toquesPermite realizar diversas
operações em elementos natela, como: Movimentar Redimensionar Girar
© 2010, Rogério Moraes de Carvalho E-mail: [email protected] Twitter: @rogeriomc
WPF 4 – Outras novidades
Diversas outras novidadesAvanços relacionados com gráficos e animaçãoAvanços relacionados com textosDiversas mudanças e avanços relacionados com
BindingNovos recursos para XAML Browser Applications
(XBAPs)Suporte a novos recursos do Windows 7 ...
© 2010, Rogério Moraes de Carvalho E-mail: [email protected] Twitter: @rogeriomc
Managed Extensibility Framework (MEF)
O que é o MEF?Uma nova biblioteca no .NET Framework 4 que
permite grande reuso de aplicações e componentes
As aplicações podem avançar da compilação estática para a composição dinâmica
Princípio aberto/fechado de POOEntidades de software devem ser abertos para
extensão, mas fechados para modificação
© 2010, Rogério Moraes de Carvalho E-mail: [email protected] Twitter: @rogeriomc
ADO.NET Entity Framework 4
Suporte à modelagem em primeiro lugarPermite a criar o modelo conceitual primeiro e,
então, criar o esquema do banco de dados que suporta o modelo
Objetos independentes da persistênciaPermite usar Plain Old CLR Objects (POCOs), assim
como objetos existentes de domínio
© 2010, Rogério Moraes de Carvalho E-mail: [email protected] Twitter: @rogeriomc
ADO.NET Entity Framework 4
Carregamento tardio (Lazy Loading)Permite que objetos relacionados sejam
carregados automaticamente da fonte de dados ao acessar a propriedade de navegação
Chaves estrangeiras no modelo conceitualPermite criar modelos conceituais em que colunas
de chave estrangeira no banco de dados correspondem a propriedades escalares da fonte de dados
© 2010, Rogério Moraes de Carvalho E-mail: [email protected] Twitter: @rogeriomc
ADO.NET Entity Framework 4
Outras novidades do Entity Framework 4Suporte a tipos complexos no EDM DesignerServiços de nomenclatura (singular e plural)Testabilidade com IObjectSet<T>Novos métodos para desenvolvimento de
aplicações em N camadasO controle EntityDataSource suporta o controle
QueryExtender para criação de filtros de dados ...
© 2010, Rogério Moraes de Carvalho E-mail: [email protected] Twitter: @rogeriomc
WCF Data Services no .NET 4
O que é o WCF Data Services?Permite a criação e o consumo de serviços de
dados baseados em REST (Representational State Transfer) para a Web
Anteriormente conhecido como ADO.NET Data Services Inicialmente, era conhecido pelo codinome Astoria ainda
na fase de desenvolvimento Introduzido no .NET Framework 3.5 SP1Houve uma atualização
© 2010, Rogério Moraes de Carvalho E-mail: [email protected] Twitter: @rogeriomc
WCF Data Services no .NET 4
Avanços do lado do servidorPaginação do lado do servidor
Agora, um serviço de dados pode ser configurado para retornar os recursos requisitados como um conjunto de respostas paginadas
Contagem de linhasUm novo segmento de caminho $count permite receber
somente o número total de recursos retornados por uma URI http://dominio/Northwind.svc/Customers('ALFKI')/Orders/$count
© 2010, Rogério Moraes de Carvalho E-mail: [email protected] Twitter: @rogeriomc
WCF Data Services no .NET 4
Avanços do lado do servidorProjeções de consultas
Resultados de consultas podem ser modificados para incluir somente um subconjunto de propriedades com uso da nova opção de consulta $select http://dominio/Northwind.svc/Orders(10643)?
$select=OrderID,OrderDate
Streaming de recursos bináriosPermite recuperar e salvar dado BLOB (Binary Large
OBject) independente da entidade a que ele pertence
© 2010, Rogério Moraes de Carvalho E-mail: [email protected] Twitter: @rogeriomc
WCF Data Services no .NET 4
Avanços do lado do clienteVinculação de dados (Data Binding)
A nova classe DataServiceCollection<T> fornece um mecanismo simplificado de data binding para controles WPF e Silverlight
Contagem de linhasA biblioteca cliente do WCF Data Services foi atualizada
para permitir o acesso à informação de contagem numa resposta de consulta
© 2010, Rogério Moraes de Carvalho E-mail: [email protected] Twitter: @rogeriomc
Windows Communication Foundation 4
Integração com System.Web.RoutingSuporte para WS-DiscoveryManipulação de erros HTTP RESTCaching declarativo em serviços WCF RESTPágina de ajuda para serviço WCF REST...
© 2010, Rogério Moraes de Carvalho E-mail: [email protected] Twitter: @rogeriomc
Windows Workflow Foundation 4
Novo controle FlowchartPoderoso novo controle de fluxo de atividades que
permite modelar laços e estruturas de decisãoNovas atividades de controle de fluxo
DoWhile, Pick, TryCatch, ForEach, Switch e ParallelForEach
Atividades para manipular membros de dados Assign e AddToCollection
…
© 2010, Rogério Moraes de Carvalho E-mail: [email protected] Twitter: @rogeriomc
Computação paralela com .NET 4
A iniciativa da computação paralelaPermitir que desenvolvedores resolvam problemas
de negócios e não problemas de concorrênciaTask Parallel Library (TPL)
Biblioteca para simplificar o acréscimo de paralelismo e concorrência em aplicações
Parallel LINQ (PLINQ) Implementação paralela do LINQ to Objects
Melhorias no System.Threading
© 2010, Rogério Moraes de Carvalho E-mail: [email protected] Twitter: @rogeriomc
Parallel LINQ (PLINQ)
Permite que desenvolvedores usem diversos processadores/núcleos (cores) com um mínimo de impacto no modelo de programação LINQ existentevar q = from p in people.AsParallel() where p.Name == queryInfo.Name && p.State == queryInfo.State && p.Year >= yearStart && p.Year <= yearEnd orderby p.Year ascending select p;
var q = from p in people.AsParallel() where p.Name == queryInfo.Name && p.State == queryInfo.State && p.Year >= yearStart && p.Year <= yearEnd orderby p.Year ascending select p;
© 2010, Rogério Moraes de Carvalho E-mail: [email protected] Twitter: @rogeriomc
Dynamic Language Runtime (DLR)
Common Language RuntimeCommon Language Runtime
C#C#VBVB
RubyRubyPythonPython
© 2010, Rogério Moraes de Carvalho E-mail: [email protected] Twitter: @rogeriomc
Dynamic Language Runtime (DLR)
Common Language RuntimeCommon Language Runtime
C#C#VBVB
RubyRubyPythonPython
Dynamic Language RuntimeDynamic Language Runtime
© 2010, Rogério Moraes de Carvalho E-mail: [email protected] Twitter: @rogeriomc
Programação dinâmica com .NET
PythonBinderPythonBinder
RubyBinderRuby
BinderCOM
BinderCOM
BinderJScriptBinderJScriptBinder
ObjectBinderObjectBinder
Dynamic Language RuntimeDynamic Language Runtime
Expression TreesExpression TreesExpression TreesExpression Trees Dynamic DispatchDynamic DispatchDynamic DispatchDynamic Dispatch Call Site CachingCall Site CachingCall Site CachingCall Site Caching
IronPythonIronPython IronRubyIronRuby C#C# VB.NETVB.NET Others…Others…
© 2010, Rogério Moraes de Carvalho E-mail: [email protected] Twitter: @rogeriomc
Objetos tipados dinamicamente
object calc = ObterCalculadora();Type tipoCalc = calc.GetType();object res = tipoCalc.InvokeMember("Adicionar", BindingFlags.InvokeMethod, null, new object[] { 10, 20 });int soma = Convert.ToInt32(res);
object calc = ObterCalculadora();Type tipoCalc = calc.GetType();object res = tipoCalc.InvokeMember("Adicionar", BindingFlags.InvokeMethod, null, new object[] { 10, 20 });int soma = Convert.ToInt32(res);
ScriptObject calc = ObterCalculadora();object res = calc.Invoke("Adicionar", 10, 20);int soma = Convert.ToInt32(res);
ScriptObject calc = ObterCalculadora();object res = calc.Invoke("Adicionar", 10, 20);int soma = Convert.ToInt32(res);
dynamic calc = ObterCalculadora();int sum = calc.Add(10, 20);
dynamic calc = ObterCalculadora();int sum = calc.Add(10, 20);
Tipado estaticamente para
ser dinâmico
Tipado estaticamente para
ser dinâmico
Invocação dinâmica do método
Invocação dinâmica do método
Coversão dinâmicaCoversão dinâmica
Calculadora calc = ObterCalculadora();int soma = calc.Adicionar(10, 20);
Calculadora calc = ObterCalculadora();int soma = calc.Adicionar(10, 20);
© 2010, Rogério Moraes de Carvalho E-mail: [email protected] Twitter: @rogeriomc
Interop Assemblies
Interop Assemblies traduzem entre código gerenciado e COM Para cada interface, estrutura, enumeração,
delegate e membro COM existe um equivalente gerenciado .NET com dados de conversão (marshalling) que tornam a comunicação possível
Primary Interop Assemblies (PIAs) Interop Assembly assinado pelo criador do tipo
COM original
© 2010, Rogério Moraes de Carvalho E-mail: [email protected] Twitter: @rogeriomc
Problema com Interop Assemblies
Interop Assemblies podem causar alguns problemas...É comum a comunicação entre add-ins do OfficePortanto, eles devem usar os mesmos tipos
Estes tipos devem estar no mesmo assembly, devido ao modelo usado pelo sistema de tipos do CLR
Se o .NET Framework estiver instalado na máquina, então o PIA do Office (~20 MB) pode ser instalado no GAC
Se o .NET Framework não estiver instalado na máquina, o add-in tem que ser distribuído com o PIA do Office
© 2010, Rogério Moraes de Carvalho E-mail: [email protected] Twitter: @rogeriomc
PIA é dispensável no .NET Framework 4.0
Tipos Interop incorporadosCompiladores podem incorporar as partes do
interop assembly que o add-in realmente usaEquivalência de tipos
O ambiente de execução (CLR) certifica que as definições destes tipos são consideradas equivalentes
© 2010, Rogério Moraes de Carvalho E-mail: [email protected] Twitter: @rogeriomc
Compatibilidade no .NET Framework 4.0
O .NET Framework 4.0 é altamente compatível com assemblies de versões anteriores
O .NET Framework 4.0 não executa assemblies de versões anterioes automaticamenteÉ necessário compilar o assembly para o .NET 4.0Ou usar o elemento <supportedRuntime>
no arquivo de configuração do assembly<configuration><startup> <supportedRuntime version="v3.5"/></startup></configuration>
<configuration><startup> <supportedRuntime version="v3.5"/></startup></configuration>
© 2010, Rogério Moraes de Carvalho E-mail: [email protected] Twitter: @rogeriomc
Compatibilidade no .NET Framework 4.0
“Se o .NET 4.0 é altamente compatível, por que não executar assemblies .NET 3.5 automaticamente na versão 4.0?”“A MELHOR coisa é sempre dar preferência pela
execução na versão do framework para o qual o assembly foi compilado”
© 2010, Rogério Moraes de Carvalho E-mail: [email protected] Twitter: @rogeriomc
CLR 2 – Existência lado a lado
Processo hospedeiro (Exemplo: Excel)Processo hospedeiro (Exemplo: Excel)
.NET 2.0.NET 2.0
2.0 add-in
2.0 add-in
3.03.0
3.53.5
3.0 add-in
3.0 add-in
3.5 add-in
3.5 add-in
1.1 add-in
1.1 add-in
.NET 1.1.NET 1.1
© 2010, Rogério Moraes de Carvalho E-mail: [email protected] Twitter: @rogeriomc
CLR 4 – In-Process Side by Side
.NET 2.0.NET 2.0.NET 4.0.NET 4.0
2.0 add-in
2.0 add-in
3.03.0
3.53.5
Processo hospedeiro (Exemplo: Excel)Processo hospedeiro (Exemplo: Excel)
3.0 add-in
3.0 add-in
3.5 add-in
3.5 add-in
4.0 add-in
4.0 add-in
© 2010, Rogério Moraes de Carvalho E-mail: [email protected] Twitter: @rogeriomc
Rogério Moraes de CarvalhoRogério Moraes de CarvalhoConsultor e Instrutor de Tecnologias da InformaçãoConsultor e Instrutor de Tecnologias da Informação
rogeriomoraescarvalho.spaces.live.comrogeriomoraescarvalho.spaces.live.com
[email protected]@gmx.net
@rogeriomc@rogeriomc
© 2010, Rogério Moraes de Carvalho E-mail: [email protected] Twitter: @rogeriomc
Onde obter informações adicionais?
What's New in Visual C# 2010 http://msdn.microsoft.com/en-us/library/bb383815(VS.100).aspx
What's New in Visual Basic 2010 http://msdn.microsoft.com/en-us/library/we86c8x2(VS.100).aspx
Clean Web.Config Files (VS 2010 and .NET 4.0 Series) http://weblogs.asp.net/scottgu/archive/2009/08/25/clean-web-config-fil
es-vs-2010-and-net-4-0-series.aspx Persisting Row Selection in Data Controls
http://www.asp.net/LEARN/whitepapers/aspnet4/default.aspx#_TOC3_6
© 2010, Rogério Moraes de Carvalho E-mail: [email protected] Twitter: @rogeriomc
Onde obter informações adicionais?
Control.ClientIDMode Property http://msdn.microsoft.com/en-us/library/system.web.ui.control.clientid
mode(VS.100).aspx URL Routing with ASP.NET 4 Web Forms (VS 2010 and .NET 4.0
Series) http://weblogs.asp.net/scottgu/archive/2009/10/13/url-routing-with-as
p-net-4-web-forms-vs-2010-and-net-4-0-series.aspx Built-in Charting Controls (VS 2010 and .NET 4 Series)
http://weblogs.asp.net/scottgu/archive/2010/02/07/built-in-charting-controls-vs-2010-and-net-4-series.aspx
© 2010, Rogério Moraes de Carvalho E-mail: [email protected] Twitter: @rogeriomc
Onde obter informações adicionais?
Samples Environment for Microsoft Chart Controls http://code.msdn.microsoft.com/mschart/Release/ProjectReleases.aspx?
ReleaseId=1591 How to use the ASP.NET Chart control within an ASP.NET MVC
application http://www.codecapers.com/post/Build-a-Dashboard-With-Microsoft-Ch
art-Controls.aspx Client Data Access
http://www.asp.net/LEARN/whitepapers/aspnet4/default.aspx#_TOC2_3 Client DataContext and AdoNetDataContext Classes
http://www.asp.net/LEARN/whitepapers/aspnet4/default.aspx#_TOC2_4
© 2010, Rogério Moraes de Carvalho E-mail: [email protected] Twitter: @rogeriomc
Onde obter informações adicionais?
What’s New in ASP.NET MVC 2 http://www.asp.net/learn/whitepapers/what-is-new-in-aspnet-mvc/
WPF 4 DataGrid Class http://msdn.microsoft.com/en-us/library/system.windows.controls.datag
rid(VS.100).aspx WPF 4 Calendar Class
http://msdn.microsoft.com/en-us/library/system.windows.controls.calendar(VS.100).aspx
WPF 4 DatePicker Class http://msdn.microsoft.com/en-us/library/system.windows.controls.date
picker(VS.100).aspx
© 2010, Rogério Moraes de Carvalho E-mail: [email protected] Twitter: @rogeriomc
Onde obter informações adicionais?
Walkthrough: Creating Your First Touch Application (WPF 4) http://msdn.microsoft.com/en-us/library/ee649090(VS.100).aspx
What's New in WPF Version 4 http://msdn.microsoft.com/en-us/library/bb613588(VS.100).aspx
Managed Extensibility Framework Overview http://msdn.microsoft.com/en-us/library/dd460648(VS.100).aspx
What's New in ADO.NET – ADO.NET Entity Framework 4?http://msdn.microsoft.com/en-us/library/ex6y04yf(VS.100).aspx
© 2010, Rogério Moraes de Carvalho E-mail: [email protected] Twitter: @rogeriomc
Onde obter informações adicionais?
What's New in WCF Data Services http://msdn.microsoft.com/en-us/library/ee373845(VS.100).aspx
What's New in Windows Communication Foundation http://msdn.microsoft.com/en-us/library/dd456789(VS.100).aspx
What's New in Windows Workflow Foundation http://msdn.microsoft.com/en-us/library/dd489410(VS.100).aspx
Task Parallel Library (TPL) http://msdn.microsoft.com/en-us/library/dd460717(VS.100).aspx
Parallel LINQ (PLINQ) http://msdn.microsoft.com/en-us/library/dd460688(VS.100).aspx
© 2010, Rogério Moraes de Carvalho E-mail: [email protected] Twitter: @rogeriomc
Onde obter informações adicionais?
Dynamic Language Runtime (DLR) http://msdn.microsoft.com/en-us/library/dd233052(VS.100).aspx
Using Type dynamic (C# Programming Guide) http://msdn.microsoft.com/en-us/library/dd264736(VS.100).aspx
dynamic (C# Reference) http://msdn.microsoft.com/en-us/library/dd264741(VS.100).aspx
Working with Dynamic Objects (Visual Basic) http://msdn.microsoft.com/en-us/library/dd537660(VS.100).aspx
© 2010, Rogério Moraes de Carvalho E-mail: [email protected] Twitter: @rogeriomc
Onde obter informações adicionais?
How to: Generate Interop Assemblies from Type Libraries http://msdn.microsoft.com/en-us/library/697w37zd.aspx
Primary Interop Assemblies (PIAs) http://msdn.microsoft.com/en-us/library/aa302338.aspx
Type Equivalence and Embedded Interop Types http://msdn.microsoft.com/en-us/library/dd997297(VS.100).aspx
Application Compatibility and Deployment http://msdn.microsoft.com/en-us/library/ms171868(VS.100).aspx
<supportedRuntime> Element http://msdn.microsoft.com/en-us/library/w4atty68(VS.100).aspx
© 2010, Rogério Moraes de Carvalho E-mail: [email protected] Twitter: @rogeriomc
Onde obter informações adicionais?
In-Process Side by Side (In-Process SxS) http://blogs.msdn.com/clrteam/archive/2009/06/03/in-process-side-
by-side-part1.aspx http://blogs.msdn.com/clrteam/archive/2009/06/07/in-process-side-
by-side-part-2-common-in-proc-sxs-scenarios.aspx http://msdn.microsoft.com/en-us/magazine/ee819091.aspx
© 2010, Rogério Moraes de Carvalho E-mail: [email protected] Twitter: @rogeriomc