O que há de novo no .NET Framework 4
Este tópico contém informações sobre os chave recursos e aprimoramentos na .NET Framework versão 4. Este tópico não fornece informações abrangentes sobre todos os novos recursos e está sujeitas a alterações.
O .NET Framework 4 apresenta um modelo de maior segurança . For more information, see Alterações de segurança na.NET Framework 4.
Outros novos recursos e aprimoramentos na .NET Framework 4 são descritas nas seções a seguir:
Compatibilidade de aplicativos e implantação
Principais Novo recursos e aprimoramentos
Estrutura de extensibilidade gerenciada
Computação paralela
Networking
Web
Client
Data
Windows Communication Foundation
Windows Workflow Foundation
Consulte Novos tipos e membros no .NET Framework 4 para listas de novos namespaces, os novos tipos e membros novos adicionados ao tipos existentes.
Visual Studio 2010 Service Pack 1 (SP1) inclui um atualização para o .NET Framework 4.
Compatibilidade de aplicativos e implantação
O .NET Framework 4 é altamente compatível com aplicativos criados com o anterior.NET Framework versões, exceto para algumas alterações que foram feitas para melhorar a segurança, conformidade com padrões, exatidão, confiabilidade e desempenho.
O .NET Framework 4 não usar automaticamente sua versão do Common Language Runtime para executar aplicativos criados com versões anteriores do.NET Framework. Para executar os aplicativos mais antigos com .NET Framework 4, você deve compilar seu aplicativo com o destino .NET Frameworkversão especificada nas propriedades de seu projeto no Visual Studio, ou você pode especificar o tempo de execução suportados com o <supportedRuntime> Elemento em um arquivo deconfiguração do aplicativo.
Se seu aplicativo ou componente não funcionar após a .NET Framework 4 é instalado, envie um bug na Microsoft ConnectsiteWeb . Você pode teste compatibilidade, conforme descrito no .NET Framework 4 de compatibilidade de aplicativos tópico e conheça os novos recursos usando o Visual Studio 2010 e.Passo a passo do NET Framework 4.
Para obter orientação sobre a migração para o .NET Framework 4, consulte Guia de migração do .NET Framework 4 e Compatibilidade de versão no .NET Framework
As seções a seguir descrevem os aprimoramentos de implantação .
Perfil do cliente
O .NET Framework 4 o perfil de cliente oferece suporte a plataformas mais do que nas versões anteriores e oferece uma experiência de rápida implantação de aplicativos. Vários novos modelos de projeto agora o perfil de cliente de destino por padrão. For more information, see .NET Framework Client Profile.
Execução de lado a lado no processo
Esse recurso permite que um aplicativo carregar e iniciar várias versões do.NET Framework no mesmo processo. Por exemplo, você pode executar aplicativos carga add ins-(ou componentes) que se baseiam o .NET Framework 2.0 SP1 e adicionar-ins que se baseiam o .NET Framework 4 no mesmo processo. Componentes antigos continuam a usar o antigo.NET Framework versãoe novos componentes de usam o novo.NET Framework versão. Para obter mais informações, consulte Execução de lado a lado no processo.
Portable Class Library
Quando você instalar Visual Studio 2010 Service Pack 1 (SP1) e o de biblioteca portátil Ferramentas, você pode criar bibliotecas de classe do portátil executados em uma variedade de.NET Framework plataformas sem recompilar. For more information, see Bibliotecas de classe portátil.
Back to top
Principais Novo recursos e aprimoramentos
As seções a seguir descrevem os novos recursos e aprimoramentos fornecidos pelo Common Language Runtime e as bibliotecas de classe base .
Desempenho e diagnóstico
Versões anteriores do.NET Framework não fornecida nenhuma maneira para determinar se um domínio de aplicativo em particular foi afetar outros domínios de aplicativo , porque as APIs do sistema operacional e as ferramentas, como o Gerenciador de tarefas do Windows, eram precisas apenas para o nível de processo . Começando com o .NET Framework 4, você pode obter o uso do processador e ouso da memóriaestima por domínio de aplicativo .
Você pode monitorar a memóriae CPU ouso dos domínios de aplicativo . Monitoração de recurso do domínio de aplicativo está disponível através do gerenciado e nativohospedagem APIs erastreamento de eventopara Windows (ETW). Quando esse recurso foi ativado, ele coleta estatísticas sobre todos os domínios de aplicativo no processo para a vida do processo. Consulte o novo AppDomain.MonitoringIsEnableddepropriedade.
Agora você pode acessar os eventos ETW para fins de diagnóstico melhorar o desempenho. For more information, see Eventos ETW CLR and Controlando.NET Framework log. Consulte também Contadores de desempenho e aplicativos do lado a lado em processo.
O System.Runtime.ExceptionServices.HandleProcessCorruptedStateExceptionsAttribute atributo permite que o código gerenciado lidar com exceções que indicam o estado do processo de corrompido.
Globalization
O .NET Framework 4 fornece novas culturas neutras e específicas, os valores de propriedade de atualizado, melhorias na manipulação de seqüência de caracteres e outros aprimoramentos. For more information, see Novidades sobre globalização e localização.
Garbage Collection
O .NET Framework 4 fornece um plano de fundo de lixo coleção. Esse recurso substitui o lixo simultâneas coleção nas versões anteriores e oferece um melhor desempenho. For more information, see Conceitos básicos de coleta de lixo.
Contratos de código
Contratos deCódigo permitem que você especificar informações contratuais que não esteja representadas por um métodoou do tipo de assinatura sozinho. O novo System.Diagnostics.Contracts namespace contém classes que fornecem uma maneira neutra de idioma-express suposições de codificação no formulário de pré-condições, posteriores e constantes do objeto . Os contratos melhoram com a execução de teste-verificação de tempo, habilitar estáticodocontratoverificaçãoe oferecer suporte à geração de documentação. For more information, see Contratos de código.
Assemblies de interoperabilidade de apenas deHora-de design-
Você tem mais a fornecer os assemblies de interoperabilidade primários (PIAs) para implantar aplicativos interoperam com objetos COM . No .NET Framework 4, compiladores podem incorporar informações de tipo de assemblies de interoperabilidade, selecionando apenas os tipos que um aplicativo (por exemplo, um suplemento) realmente usa. Segurança deTipo é garantida por meio de Common Language Runtime. See Usando tipos COM em código gerenciado and Demonstra Passo a passo: A incorporação de informações de tipo de Assemblies de Microsoft Office (C# e Visual Basic).
Dynamic Language Runtime
O dynamic language tempo de execução (DLR) é um novo tempo de execução ambiente que adiciona um conjunto de serviços para as linguagens dinâmicas para o CLR. O DLR torna mais fácil desenvolver linguagens dinâmicas para executar na.NET Framework e adicionar recursos dinâmicos para estaticamente linguagens com tipos. Para suportar o DLR, o novo System.Dynamic namespace é adicionado para o.NET Framework.
As árvores de expressão são ampliadas com novos tipos que representam o fluxo de controle, por exemplo, System.Linq.Expressions.LoopExpression e System.Linq.Expressions.TryExpression. Esses novos tipos são usados pelo dynamic language tempo de execução (DLR) e não são usados pelo LINQ.
Além disso, várias novas classes que oferecem suporte a.Infra-estrutura do NET Framework são adicionados para o System.Runtime.CompilerServices namespace. For more information, see Visão geral de Runtime de linguagem dinâmica.
Covariance and Contravariance
Várias interfaces genéricas e delegados agora oferecem suporte covariância contravariância. For more information, see Covariância e/contravariância no genéricos.
BigInteger e números complexos
O novo System.Numerics.BigInteger estrutura é um arbitrário-precision inteiro tipo de dados oferece suporte a todas as operações de padrão de inteiro , incluindo a manipulação de bits. Ele pode ser usado de qualquer.NET Framework language. Além disso, alguns dos novos.Framework têm-suporte interno para essa estrutura.
O novo System.Numerics.Complex estrutura representa um número complexo que dá suporte a operações aritméticas e trigonométricas com números complexos.
Tuplas
O .NET Framework 4 fornece a System.Tupleaclasse para criar a tupla objetos que contêm dados estruturados. Ele também fornece classes de tupla genérica para oferecer suporte à tuplas tem de um a oito componentes (isto é, singletons por meio de octuples). Para oferecer suporte a objetos de tupla tem nove ou mais componentes, há uma tupla genérico classe com parâmetros de tipo de sete e um oitavo parâmetro de qualquer tupla tipo.
Arquivo Aprimoramentos de enumeração do sistema
Métodos de enumeração doNovo arquivo melhoram o desempenho dos aplicativos que diretórios de arquivos grandes de acesso ou que iterar por meio de linhas de arquivos grandes. For more information, see Como: Enumerar os diretórios e arquivos.
Arquivos mapeados na memória
A.NET Framework agora suporta memória-arquivos mapeados. Você pode usar arquivos de memória mapeada para editar arquivos muito grandes e criar a memória compartilhada para comunicação entre processos.
-De 64 bits, processos e sistemas operacionais
Você pode identificar sistemas operacionais do-bits de 64 e processos com o Environment.Is64BitOperatingSystem e Environment.Is64BitProcess Propriedades.
Você pode especificar um-de 32 bits ou 64-bits de modo de exibição do registro com o Microsoft.Win32.RegistryViewdeenumeração quando você em aberto base chaves.
Outros Novo recursos.
A lista a seguir descreve as conveniências, melhorias e novos recursos adicionais. Várias dessas baseiam-se no sugestões cliente .
Para oferecer suporte a cultura-formatação confidenciais, o System.TimeSpan estrutura inclui novas sobrecargas da ToString, Parse, e TryParse métodos, bem como novos ParseExact e TryParseExact métodos.
O novo String.IsNullOrWhiteSpace método indica se uma seqüência de caracteres é nula, vazio ou que consiste apenas em branco-de caracteres de espaço. Foram adicionadas aoNovo sobrecargas de String.Concat e String.Join métodos que os participantes concatenar do System.Collections.Generic.IEnumerable<T> coleções.
O String.Concat método permite que você concatenar cada elemento em uma coleção de enumerable sem converter primeiro os elementos para seqüências de caracteres.
Dois novos métodos de conveniência estão disponíveis: StringBuilder.Clear and Stopwatch.Restart.
O novo Enum.HasFlag método determina se um ou mais campos de bits ou sinalizadores são definidos em um valor de enumeração . O Enum.TryParse método retorna um valor booliano que indica se um valor de string ou inteiro pôde ser analisado com êxito.
O System.Environment.SpecialFolder enumeração contém várias novas pastas.
Agora você pode facilmente copiar um fluxo para outro com o CopyToométodo em classes que herdam a System.IO.Streamclasse.
Novosobrecargas dométodoPath.Combinepermitem que você combinar caminhos de arquivo.
O novo System.IObservable<T> e System.IObserver<T> interfaces fornecem um mecanismo de generalizada para notificações de envio-com base.
O System.IntPtr e System.UIntPtr classes agora incluem suporte para os operadores de adição e subtração.
Você pode habilitar a lenta inicialização para qualquer tipo personalizado por quebra automática do tipo dentro de um System.Lazy<T> classe.
O novo deSystem.Collections.Generic.SortedSet<T>classe fornece self-balanceamento de árvore que mantém os dados em ordem classificada após inserções, exclusões e pesquisas. Essa classe implementa a nova System.Collections.Generic.ISet<T> interface.
Os algoritmos de compactação para o System.IO.Compression.DeflateStream e System.IO.Compression.GZipStream classes foram melhorados para que os dados que já estiver compactados não é mesmo. Além disso, a restrição de tamanho de gigabyte-4 para compactação de fluxos foi removido.
O novo Monitor.Enter(Object, Boolean)sobrecarga demétodopega uma referência booliano e atomicamente define-o para true somente se o monitor estiver inserido com sucesso.
Você pode usar o Thread.Yield método para fazer com que o thread de chamada rendimento de execução para outro thread que está pronto para ser executado no processador atual.
O System.Guid estrutura agora contém o TryParse e TryParseExact métodos.
O novo Microsoft.Win32.RegistryOptions enumeração permite especificar uma chave de registro voláteis que persistem após a reinicialização do computador.
Chaves do registro não estão mais restritas a um comprimento máximo de 255 caracteres.
Back to top
Estrutura de extensibilidade gerenciada
Managed Extensibility Framework (MEF) é uma nova biblioteca a .NET Framework 4 que o ajuda a construir aplicativos extensível e compostos. MEF permite que você especificar os pontos onde um aplicativo pode ser estendido, expor serviços para oferecer a outros aplicativos extensíveis e para criar partes para consumo por aplicativos extensíveis. Ele também permite fácil detectabilidade partes disponíveis, com base nos metadados, sem a necessidade de carregar os assemblies para as partes. Para obter mais informações, consulte Visão geral sobre estrutura de extensibilidade gerenciada e Managed Extensibility Framework. Para obter uma lista dos tipos MEF, consulte o System.ComponentModel.Composition namespace.
Back to top
Computação paralela
O .NET Framework 4 introduz um novo modelo de programação para escrever código multithread e assíncrono, que simplifica muito o trabalho de desenvolvedores de aplicativo e biblioteca . O novo modelo permite aos desenvolvedores escrever eficiente, fine-granular e dimensionável de código paralelo em um idioma natural, sem ter que trabalhar diretamente com o pool de thread ou de threads. O novo System.Threading.Tasks namespace e outros relacionam a esse novo modelo de suporte a tipos. Parallel LINQ PLINQ (), que é uma implementação paralela de LINQ , permite uma funcionalidade similar através da sintaxe declarativa. For more information, see Programação em paralela a.NET Framework.
Back to top
Networking
Os aperfeiçoamentos de rede incluem o seguinte:
Aprimoramentos de segurança para autenticação do Windows em várias classes, incluindo System.Net.HttpWebRequest, System.Net.HttpListener, System.Net.Mail.SmtpClient, System.Net.Security.SslStream, e System.Net.Security.NegotiateStream. proteção de estendida está disponível para aplicativos no Windows 7 e o Windows Server 2008 R2. For more information, see Integrated Windows Authentication with Extended Protection.
Suporte para a passagem de Network Address Translation (NAT) usando o IPv6 Teredo. For more information, see NAT Traversal using IPv6 and Teredo.
Novo rede contadores de desempenho que fornecem informações sobre HttpWebRequest objetos. For more information, see Contadores de desempenho de rede.
No System.Net.HttpWebRequest classe, o suporte ao uso de cabeçalhos de intervalo grande byte (64-bits intervalos) com novas sobrecargas para o AddRange método. Propriedades deNovo a deSystem.Net.HttpWebRequestclasse permitem que um aplicativo defina vários cabeçalhos HTTP . Você pode usar o Hostdepropriedade para definir o valor do cabeçalho de Host em um solicitação HTTP que é independente doURIda solicitação.
Proteger o suporte de Sockets Layer (SSL) para o System.Net.Mail.SmtpClient e classes relacionadas.
Maior suporte a cabeçalhos de email no deSystem.Net.Mail.MailMessageclasse.
Suporte para uma cifra nula para uso em criptografia. Você pode especificar a diretiva de criptografia usando a System.Net.ServicePointManager classe e o EncryptionPolicy propriedade. Construtores para o System.Net.Security.SslStreamtêm agora declasse um System.Net.Security.EncryptionPolicyaclasse como um parâmetro.
Credenciais de senha-com base em esquemas de autenticação como, por exemplo, basic, digest, NTLM e Kerberos autenticação in a System.Net.NetworkCredential classe. Para melhorar a segurança, senhas podem agora ser tratadas como System.Security.SecureString instâncias em vez de System.String instâncias.
Capacidade de especificar como um URI com %-codificado valores são convertidos e normalizados a System.Uri e System.Net.HttpListener classes. Para obter mais informações, consulte o System.Net.Configuration.HttpListenerElement, System.Configuration.SchemeSettingElement, System.Configuration.SchemeSettingElementCollection, e System.Configuration.UriSection classes.
Back to top
Web
ASP.NET versão 4 apresenta novos recursos nas seguintes áreas:
Serviços principais, incluindo uma nova API que permite estendem o cache, suporte para compactação de dados do estado de sessão-e um novo gerente de pré-carregamento aplicativo (autostart recurso).
Web Formulários, incluindo o suporte mais integrado para ASP.NET roteamento, suporte aprimorado para padrões Web , suporte a navegador atualizado, novos recursos para os controles de dados e novos recursos para gerenciamento de estado de exibição.
Web Controles de formulários, incluindo um novo controle de gráfico.
MVC, incluindo novos métodos de auxiliar para modos de exibição, o suporte para aplicativos de MVC particionados e controladores de assíncronas.
Dados Dinâmicos, incluindo suporte para aplicativos da Web existentes, suporte a vários--muitos novos modelos de campo e relacionamentos e herança, atributos e filtragem avançada de dados.
Ajax da Microsoft, incluindo adicionais de suporte para o cliente-aplicativos do Ajax com base na biblioteca do Microsoft Ajax.
Visual Web Developer, incluindo melhor IntelliSense para JScript, novos trechos completa de auto-para HTML e ASP.NET marcaçãoe compatibilidade aprimorada de CSS .
Implantação, incluindo novas ferramentas para automatizar tarefas típicas de implantação .
Direcionamento de vários-, incluindo melhor filtragem de recursos que não estão disponíveis naversão de destinodo.NET Framework.
Para obter mais informações sobre esses recursos, consulte Novidades no ASP.NET 4 e no Visual Web Developer.
Back to top
Client
Windows Presentation Foundation (WPF) versão 4 contém alterações e melhorias nas seguintes áreas:
Controles deNovo , incluindo Calendar, DataGrid, e DatePicker.
VisualStateManageroferece suporte a alteração de estados de controles.
Toque e manipulação permite que você a criar aplicativos recebem entrada de vários "toques" simultaneamente no Windows 7.
Gráficos e animação suporta o arredondamento de layout, Pixel Shader versão 3.0, composição em cache e funções de atenuação.
Texto melhorou o renderização de texto e suporta a personalização a cor do cursor e a cor de seleção nas caixas de texto.
Ligação é compatível com o Commandapropriedade de um InputBinding, objetos dinâmicos e o Textpropriedade.
Aplicativos de navegadorXAML (XBAPs) suportam a comunicação com a página Web e o suporte completo-relação de confiança de implantação.
Tipos deNovo na System.Windows.Shellnamespace permitem que você se comunique com a barra de tarefas do Windows 7 e passar dados para o shelldo Windows.
O WPF e o Designer do Silverlight no Visual Studio 2010 tem diversos aprimoramentos de designer para ajudar aplicativosWPF ou do Silverlight criar.
For more information, see O que há de novo na versão 4 do WPF.
Back to top
Data
ADO.NET
ADO.NET fornece novos recursos para o Entity Framework, incluindo-de persistência objetos que desconhecem, funciona em consultas LINQ e personalizados de geração de código de camada do objeto . For more information, see What's New in ADO.NET.
Dados dinâmicos
Para ASP.NET 4, Dados Dinâmicos foi aprimorado para oferecer ainda mais poder para a criação rápida de sites Web de orientados a dados-. This includes the following:
Automático validação baseada em restrições são definidas no modelo de dados.
A capacidade de alterar facilmente a marcação que é gerado para os campos de GridView e DetailsView controles usando modelos de campo que fazem parte de umprojetode Dados Dinâmicos.
For more information, see Novidades no ASP.NET 4 e no Visual Web Developer.
WCF Data Services
ADO.NET serviço de dados foi renomeado para serviços de dados do WCF e tem os seguintes novos recursos
Vinculação de dados.
A contagem de entidades em um conjunto de entidade .
Servidor-orientado de paginação.
Projeções de consulta.
Provedores de serviços de dadosPersonalizar .
Fluxo binário de recursos.
For more information, see What's New in WCF Data Services.
Back to top
Windows Communication Foundation
Windows Communication Foundation (WCF) fornece os seguintes aprimoramentos:
Ativação da configuração-com base em: Remove a necessidade de haver um arquivo. svc.
Sistema.Web.Integração de roteamento: Dá mais controle sobre a URL do seu serviço, permitindo o uso de URLs sem extensões.
Suportam a várias ligações de site do IIS: Permite que você tenha vários endereços de base com o mesmo protocolo no Web .
Serviço de roteamento: Permite que você para rotear mensagens com base no conteúdo.
Suporte para detecção de WS-: Permite que você criar e procurar serviços detectáveis.
Pontos de extremidadePadrão : Pontos de extremidade predefinidos que permitem que você especifique apenas determinadas propriedades.
Serviços de fluxo de trabalho: Integra o WCF e WF, fornecendo atividades para enviar e receber mensagens, a capacidade de correlacionar mensagens com base no conteúdoe um hostde serviço de fluxo de trabalho .
WCF Recursos do restante:
WebCache deHTTP : Permite armazenar em cache respostas de serviço Web HTTP .
WebSuporte a formatosHTTP : Permite que você determinar dinamicamente o melhor formato para uma operação de serviço respondeu.
WebPágina de ajuda de serviçosHTTP : Fornece uma página de ajuda automática para serviços Web HTTP , semelhantes à página de Ajuda do serviço WCF .
WebHTTPtratamento deerro : Permite que os serviços WebdeHTTP retornar informações de erro no mesmo formato que a operação.
WebSuporte a JavaScript-domínio cruzado deHTTP : Permite o uso de JSON enchimento (JSONP).
configuraçãode simplificada: Reduz a quantidade de configuração que requer que um serviço
For more information, see What's New in Windows Communication Foundation.
Back to top
Windows Workflow Foundation
Windows Workflow Foundation (WF) fornece melhorias nas seguintes áreas:
Modelo deatividade de melhor fluxo de trabalho: O deActivityclasse fornece a abstração de base do comportamento do fluxo de trabalho .
Opções de rich composto de atividade : Fluxos de trabalho se beneficiar novas atividades de controle de fluxo de-modelam estruturas de controle de fluxo tradicional-, como Flowchart, TryCatch, e Switch<T>.
Expandida criada-nabibliotecade atividade: Recursos deNovo dabiblioteca de atividadeincluem novas atividades de controle de fluxo de-, atividades para manipular os dados de membro e atividades para controlar transações.
Modelo de dados explícita atividade : Opções deNovo para armazenar ou movimentação de dados incluem os argumentos de variável e direcionais.
Opções de hospedagem, persistência e acompanhamento aprimoradas: Hospedagem de aprimoramentos incluem mais opções para a execução de fluxos de trabalho, persistência explícita usando o Persistatividade, persistência sem descarregar, impedindo a persistência usando não-persistem zonas, usando as transações de ambiente do host, gravar informações de acompanhamento para o log de evento e continuando pendentes de fluxos de trabalho usando um Bookmark objeto.
Capacidade de mais fácil para estender o Designer do WF: O novo Designer do WF é construído sobre a Windows Presentation Foundation (WPF) e fornece um modelo mais fácil de usar quando o Designer do WF fora do Visual Studiode rehosting.
For more information, see What's New in Windows Workflow Foundation.
Back to top
Consulte também
Conceitos
O que há de novo no Visual Studio 2010
Novidades no ASP.NET 4 e no Visual Web Developer
O que há de novo na versão 4 do WPF
O que há de novo no Visual Basic 2010
O que há de Novo no Visual TRANSLATION FROM VPE FOR CSHARP 2010.
O que há de Novo no Visual C++ 2010
O que há de Novo no Visual F # 2010
Outros recursos
Novos tipos e membros no .NET Framework 4
What's New in Windows Communication Foundation