palais descongrèsParis7, 8 et 9février 2012
Vous êtes dans l’AMPHI BLEU
LAN208: Les nouveautésdu Framework .NET 4.57/02/2012 – 11H-12HRoch BADUELArchitecteMCNEXT
MCNEXT  Depuis 2007 - 150 Collaborateurs – Paris-Lyon-                     Genève   100 % Microsoft - 4 pôles d’expertises...
Objectifs                                                 WCF, WPF, WF,     Qu’est ce que      L’asynchrone au sein       ...
Le framework .NET 4.5
Rappel – Le framework .NET    Entity              ASP.                            Win     Work      And   Frame-          ...
Versions de .NET  .NET 4.5 est une mise à jour au dessus de .NET  4    Actuellement en preview    Peut être inclus dans ...
L’asynchrone au sein duframework
Modifications etnouveautés Intégration dans le langage de async/await (Ex CTP) Extension des fonctionnalités sur les Tasks...
Asynchrone ?  Une tendance et une nécessité  Eviter de bloquer le thread (notamment UI)  Présent depuis le framework 1.0  ...
Asynchronous ProgrammingModel (APM)  // Modèle .NET 1  file.BeginRead(buffer, 0, maxLength, asyncResult => {     int numBy...
Event-based AsynchronousProgramming (EAP) //Modèle .NET 2 webClient.DownloadStringCompleted += (sender, args) => {      st...
Task-based AsynchronousProgramming (TAP) Task<string> htmlTask = webClient.DownloadStringTaskAsync(url);      string html ...
Utilisation de async / await public Task CopyStreamToStream             (Stream source,                                Str...
DEMOTAP / Async / Await
Les méthodes asynchrones  Sont marquées avec le mot clé async  Elles retournent soit void soit Task<T>  Elles utilisent l’...
Méthodes rajoutées à Task  Task.Run  var result = await Task.Run(() => { … });  Task.Delay      await Task.Delay(5000);  ...
DataFlow
Modèle de programmationparallèle  .NET 4    On part des données et on met en place le traitement.    Typiquement combina...
TPL Dataflow  System.Threading.Tasks.Dataflow.dll  Les DataFlow sont constitués de Blocks    Un block est un élément qui ...
TPL DataflowExemple de traitement simple    var ab = new ActionBlock<int>(i =>    {                                       ...
TPL DataflowInterconnecter les Blocks       Les blocks peuvent être chainés pour implémenter des        réseaux       Ex...
DEMODataFlow
Plus d’infos sur TPL /Parallélisme / DataFlow  Articles d’Eric Vernie (Microsoft France DPE)    Introduction à TPL DataFl...
Autres nouveautés “core”
+ de nouveautés    Nouvelle API pour les applications consommant des    service http        System.Net.Http (HttpClient, ...
WCF Contract First :   Génération du service depuis le WSDL    (svcutil /serviceContract) WSDL en un seul fichier : ?sing...
DEMOWCF
Workflow  Expressions C#  State machines  Service Contract First  Performance
ASP.NET  HTML5  Démarrage plus rapide (multi-core JIT)  WebSocket  Asynchrone (HttpRequest / HttpResponse, Module /  Handl...
WPF Ruban inclus dans .NET 4.5 « NotifyPropertyChanged » sur les propriétés statiques (convention de nommage) Possibilité ...
DEMOWPF
Quelques sessions surVS11/NET 4.5  Construire des applications parallèles avec Visual  Studio 11 quoi de neuf ? (LAN210)  ...
Vous êtes dans l’AMPHI BLEU
Microsoft France39, quai du président Roosevelt  92130 Issy-Les-Moulineaux www.microsoft.com/france
Prochain SlideShare
Chargement dans…5
×

Les nouveautés du Framework .NET 4.5

1 699 vues

Publié le

La prochaine version du framework .NET (.NET 4.5) apporte plusieurs innovations. Les performances ont été améliorées, les appels asynchrones ont été introduits dans de nombreuses API et le support au niveau de C# 5 des instructions async/await facilite leur usage. Le traitement parallèle a aussi été étendu avec le support des cœurs multiples et l'introduction des dataflow. Parmi les nouveautés on notera également le support étendu de MEF, des améliorations au niveau de WCF, de Workflow Foundation et de ASP.NET pour ne citer que ceux-ci.

Publié dans : Technologie
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
1 699
Sur SlideShare
0
Issues des intégrations
0
Intégrations
1
Actions
Partages
0
Téléchargements
24
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Les nouveautés du Framework .NET 4.5

  1. 1. palais descongrèsParis7, 8 et 9février 2012
  2. 2. Vous êtes dans l’AMPHI BLEU
  3. 3. LAN208: Les nouveautésdu Framework .NET 4.57/02/2012 – 11H-12HRoch BADUELArchitecteMCNEXT
  4. 4. MCNEXT Depuis 2007 - 150 Collaborateurs – Paris-Lyon- Genève 100 % Microsoft - 4 pôles d’expertises Dot Share NET Point Business Intelligence Biz Microsoft Talk
  5. 5. Objectifs WCF, WPF, WF, Qu’est ce que L’asynchrone au sein ASP.NET Framework .NET 4.5 ? du Framework Pointeurs Démos, Démos, Démos Questions / Réponses
  6. 6. Le framework .NET 4.5
  7. 7. Rappel – Le framework .NET Entity ASP. Win Work And Frame- WCF WPF NET Forms Flow more! work BCL CLR Profiling& Debugging APIs JIT & Garbage Modèle de Gestion Loader & NGEN Collector sécurité Exception Binder
  8. 8. Versions de .NET .NET 4.5 est une mise à jour au dessus de .NET 4  Actuellement en preview  Peut être inclus dans vos installeurs sur Win7, Win2K8, etc.  Sera inclus dans les prochaines versions de Windows  Pourra être installé avec Windows Update 3.5 3.0 4.5 .NET 1.0 .NET 1.1 .NET 2.0 .NET 4.0 2002 2003 2005 - 2008 2010
  9. 9. L’asynchrone au sein duframework
  10. 10. Modifications etnouveautés Intégration dans le langage de async/await (Ex CTP) Extension des fonctionnalités sur les Tasks Introduction des DataFlow (Ex CTP) Rajout de méthodes Asynchrones (Renvoyant des Tasks)
  11. 11. Asynchrone ? Une tendance et une nécessité Eviter de bloquer le thread (notamment UI) Présent depuis le framework 1.0 (BeginMethod, EndMethod) A évolué :  Asynchronous Programming Model (APM)  Event based Asynchronous Programming (EAP)  Task based Asynchronous Programming (TAP : .NET 4)
  12. 12. Asynchronous ProgrammingModel (APM) // Modèle .NET 1 file.BeginRead(buffer, 0, maxLength, asyncResult => { int numBytesRead = file.EndRead(asyncResult); // faire quelque chose avec buffer }, null);
  13. 13. Event-based AsynchronousProgramming (EAP) //Modèle .NET 2 webClient.DownloadStringCompleted += (sender, args) => { string html = args.Result; // Faire quelque chose avec html }; webClient.DownloadStringAsync(new Uri("http://example.com"));
  14. 14. Task-based AsynchronousProgramming (TAP) Task<string> htmlTask = webClient.DownloadStringTaskAsync(url); string html = htmlTask.Result; // Sync (bloquant) htmlTask.ContinueWith(task => { string html = task.Result; // Async, C# 4 }); string html = await htmlTask; // Async, C# 5
  15. 15. Utilisation de async / await public Task CopyStreamToStream (Stream source, Stream destination) { byte[] buffer = new byte[0x1000]; int numRead; while ((numRead = source.Read (buffer, 0, buffer.Length)) != 0) { destination.Write (buffer, 0, numRead); } }
  16. 16. DEMOTAP / Async / Await
  17. 17. Les méthodes asynchrones Sont marquées avec le mot clé async Elles retournent soit void soit Task<T> Elles utilisent l’opérateur await Elles reprennent quand la méthode appelée par await a finie Elles s’executent dans le contexte de synchronisation de l’appelant Elles permettent d’écrire du code asynchrone de la même manière que du code synchrone
  18. 18. Méthodes rajoutées à Task Task.Run var result = await Task.Run(() => { … }); Task.Delay  await Task.Delay(5000); Task.WhenAll / WhenAny  Composition Task.Yield  await Task.Yield() Task.ContinueWith
  19. 19. DataFlow
  20. 20. Modèle de programmationparallèle .NET 4  On part des données et on met en place le traitement.  Typiquement combinaison de Tasks Dans l’autre sens?  On développe une chaine de traitement, puis on injecte des données  Application typique : traitement en mode « pipeline »
  21. 21. TPL Dataflow System.Threading.Tasks.Dataflow.dll Les DataFlow sont constitués de Blocks  Un block est un élément qui traite des messages depuis une file  Les blocks peuvent être chainés pour effectuer des traitements complexes  Réseau de Block
  22. 22. TPL DataflowExemple de traitement simple var ab = new ActionBlock<int>(i => { ActionBlock<int> Process(i); Message Queue }); Process(4); Process(3); Process(2); Process(1); Process(0); for(int i = 0; i < 5; i++) { ab.Post(i); 4 3 2 1 0 }
  23. 23. TPL DataflowInterconnecter les Blocks  Les blocks peuvent être chainés pour implémenter des réseaux  Exemple de Block :  ActionBlock<T> : exécute un délégué  TransformBlock<T1,T2>: convertie T1 vers T2  BroadcastBlock<T> : permet de diffuser vers plusieurs blocks un message  JoinBlock<T1,T2> : attend un élément de chaque entrée pour créer un message en sortie
  24. 24. DEMODataFlow
  25. 25. Plus d’infos sur TPL /Parallélisme / DataFlow Articles d’Eric Vernie (Microsoft France DPE)  Introduction à TPL DataFlow (VB ou C#)  http://msdn.microsoft.com/fr-fr/vbasic/hh301105  http://msdn.microsoft.com/fr-fr/vcsharp/hh301085 Blog développement parallèle  http://blogs.msdn.com/b/devpara/
  26. 26. Autres nouveautés “core”
  27. 27. + de nouveautés Nouvelle API pour les applications consommant des service http  System.Net.Http (HttpClient, HttpRequestMessage…) MEF (Managed Extensibility Framework)  Support des types géneric  La composition peut être basée sur des règles:  Les attributs ne sont plus obligatoire  Utilise RegistrationBuilder pour injecter des attributs  ReflectionContext : expose des types « altérés » [Import(typeof(ICalculator))] [Export(typeof(ICalculator))] public ICalculator calculator; class MySimpleCalculator : ICalculator Portable library : Subset commun à .NET / WP / XBOX / SL Compatibilité binaire
  28. 28. WCF Contract First :  Génération du service depuis le WSDL (svcutil /serviceContract) WSDL en un seul fichier : ?singleWSDL suppression des xsd:import Support des WebSocket : NetHttp(s)Binding Fichiers de configuration client simplifiés (pas les valeurs par défaut) Support d’UDP Paste XML as classes (VS) Add Service Reference pour les portable library
  29. 29. DEMOWCF
  30. 30. Workflow Expressions C# State machines Service Contract First Performance
  31. 31. ASP.NET HTML5 Démarrage plus rapide (multi-core JIT) WebSocket Asynchrone (HttpRequest / HttpResponse, Module / Handler) Externalisation du code de validation client dans un seul js externe. Javascript Bundling / minification Librairie Anti – Cross-Site-Scripting intégrée
  32. 32. WPF Ruban inclus dans .NET 4.5 « NotifyPropertyChanged » sur les propriétés statiques (convention de nommage) Possibilité de modifier les collections « bindées » depuis un thread autre que UI Introduction de INotifyDataErrorInfo (SL) – validation synchrone / asynchrone Introduction de ICustomTypeProvider (SL5) – Binding sur des propriétés définies par code (ex: execution) Binding: Delay pour mise à jour de la source ItemsControl : performance en mode virtualisé sur des collections avec groupage
  33. 33. DEMOWPF
  34. 34. Quelques sessions surVS11/NET 4.5 Construire des applications parallèles avec Visual Studio 11 quoi de neuf ? (LAN210) WPF 4.5 : Quoi de neuf pour les développeurs ? (RDA105) Quoi de neuf dans ASP.NET 4.5 (RIA219)
  35. 35. Vous êtes dans l’AMPHI BLEU
  36. 36. Microsoft France39, quai du président Roosevelt 92130 Issy-Les-Moulineaux www.microsoft.com/france

×