SlideShare uma empresa Scribd logo
1 de 45
Au cœur du Framework
4.5.1
Bruno BOUCARD
MVP C++
Cellenza
blogs.msdn.com/devpara/

Code/Developpement

Michel PERFETTI
MVP ALM
Cellenza
buildmeimfamous.net
Présentation de Cellenza

Cabinet de conseil IT exclusivement dédié
aux technologies Microsoft et aux méthodes
Agiles
Notre passion, les technologies MS
Nous sommes des experts Microsoft, agilistes
par
nature,
passionnés
par
notre
métier.
Consultants, coachs, formateurs et/ou MVP,
nous avons à cœur de partager avec la
communauté
un
savoir
technique
et
méthodologique, mais aussi nos valeurs

150

billets
de
blog

Comment nous le
faisons :
•
•
•

Formation continue
Partage de connaissance
Partenariats

> 12j

formati
on

7 MVP
7 MCT

30

art.

de
presse
.NET (Une vue *très* simplifiée)

Runtime

#mstechdays

Libraries

Languages

Code/developpement

Tools

.NET
Contenu de .NET 4.5
Client & Device

Web & Cloud

Fundamentals

GC

Libraries

• Async – for UI
responsiveness
• Windows Store
apps -- WinRT
• Windows Phone
apps
• .NET CF 3.9

• Async – for
server scaling
• ASP.NET MVC4
• ASP.NET Web
API
• ASP.NET Web
Pages
• Entity
Framework
Code-First
• WebSockets
• SignalR
• Windows Azure
Cloud Services
4.5 Support
• Windows Azure
Web Sites

• .NET Async
(async + await)
• Many new
async APIs
• WinRT interop
• Multi-core JIT
• MPGO – NGEN
hot/cold splitting
• Performance
improvements
• Reboot and
reliability
improvements to
setup
• Support
Windows RT

• Background GC
• LOH heap
balancing
• LOH
fragmentation
reduction
• GC low latency
mode
• GC awareness
of NUMA and
>64 processors
• >2GB arrays (or
objects)

• Portable
libraries update
• .NET Core
Profile
(Windows 8)
• Extension
methods for
WinRT streams
and async
• NuGet
• Immutable
collections
• Async for .NET
4
• HttpClient for
Portable

.NET 4.5 est installé sur plus de 100+ million de machines!

#mstechdays

Code/developpement
.NET 4.5.1 en trois axes
Productivité du développeur
Performance des applications
Innovations constantes
#mstechdays

Code/developpement
Productivité du
développeur

#mstechdays

Code/developpement
En 2005, il y avait une fonctionnalité
nommée «Edit & Continue», mais
quelque chose manquait…

#mstechdays

Code/developpement
#mstechdays

Code/developpement
«Edit & Continue» pour 64-bits est là !
•
•
•

•

Fortement demandé par la communauté
Fonctionne exactement comme pour les applications 32bits
Projets client (WPF, WinForms, etc), Store et applications
web ASP.NET sont supportés
Pour les projets d’application web activer «Edit &
Continue» dans les propriétés du projet

#mstechdays

Code/developpement
Mais il y a mieux…

#mstechdays

Code/developpement
#mstechdays

Code/developpement
Inspection des valeurs de retour
de méthode

• Maintenant disponible pour .NET !
• Accès par les fenêtres «Autos» et «Immediat»
($ReturnValue)
• Peut étendre les valeurs de retour dans le
debugger

#mstechdays

Code/developpement
Améliorations du débogage async
• Question fréquente :
– Comment l’exécution arrive-t-elle ici ?

• Supporte les Store Apps, les Web Apps ainsi que
les applications desktop sous Windows 8.1
• Amélioration des fenêtres «Call Stack» et Tasks

#mstechdays

Code/developpement
Résilience des connexions EF/ADO.NET
•
•
•
•

Fourni une connexion vers Azure DB fiable
Restauration automatique de connexion rompue
Fourni un grande expérience depuis des appareils connectés
Ca fonctionne ! Aucune configuration ou modification de code
autre que d’installer .NET 4.5.1

#mstechdays

Code/developpement
ASYNC, $RETURNVALUE,
EDIT&CONTINUE, EF

#mstechdays

Code/developpement
Et du côté de Windows Store …

#mstechdays

Code/developpement
Conversion de Stream vers
IRandomAccessStream
Des forums MSDN :

bitmap.SetSource(memoryStream); <--

error CS1503: Argument 1: cannot convert from 'System.IO.Stream' to 'Windows.Storage.Streams.IRandomAccessStream‘

bitmap.SetSource(memoryStream.AsRandomAccessStream()); <-- .NET 4.5.1

Dans .NET 4.5.1 : System.IO.WindowsRuntimeStreamExtensions
.AsRandomAccessStream(Stream stream)
#mstechdays

Code/developpement
Support des exceptions APIs WinRT
•

Sous Windows 8, la propagation des erreurs depuis les APIs WinRT se fait à
travers des HRESULT
–

•

Les informations importantes sur ces exceptions sont perdues, à moins qu’un débogueur soit attaché

Sous Windows 8.1, des informations additionnelles sur l’erreur sont
disponibles grâce aux propriétés de System.Exception :
–
–

Message
StackTrace

Additional exception details
from a C++ WinRT
Component

#mstechdays

Code/developpement
Performance des
applications

#mstechdays

Code/developpement
Suspension des applications ASP.NET
•

Ajoute la capacité de suspendre une
application via une machine à trois états

•
•

Tous les sites débutent dans un état inactif
Lorsque les sites sont réclamés, ils sont chargés en mémoire,
deviennent actifs, et de répondre aux requêtes clientes
Les sites activés seront suspendus après un délai prédéfini
• Les sites suspendus perdent l'accès à la CPU, ce qui libère
des cycles CPU et de la mémoire pour les demandes vers
d'autres sites.
• ils sont maintenus dans le nouvel état suspendu
• ils peuvent être repris très rapidement et répondre à de
nouvelles requêtes très rapidement

•

#mstechdays

Code/developpement
Suspension des applications ASP.NET
• Permet faible
latence, des sites
Web de haute
densité pour le
cloud onprem/private
• Livraison dans le
cadre de IIS 8.5
dans Windows
Server 2012 R2
#mstechdays

Résultats en provenance de chez Microsoft

Code/developpement
Suspension des applications ASP.NET
Dans les paramètres de IIS,
définissez délai d'inactivité
sur « suspend »

Plus information: ASP.NET App Suspend – responsive shared .NET web
hosting

#mstechdays

Code/developpement
Rappel sur le compilateur Just-In-Time
Les compilateurs .NET
•
•

•

Transforment à la volée le code IL (résultat de la compilation de
source .NET) en code assembleur
Compilation à la demande (just in time) et une seule fois par
fonction

Cependant
•
•

#mstechdays

Démarrage à froid

•

Certaines applications/services ont besoin de démarrer le plus
vite possible, et souffrent du temps de JIT
Le Framework .NET 4.5 permet de JITTER en // les Apps du
Store et les applications/service .NET dont les assemblages sont
dans le GAC
Code/developpement
•

•

•

Minimise le temps
de démarrage sur
des processeurs
multi cœurs
Désormais pris en
charge pour les
sites Web ASP.NET
Activé par défaut
pour les applications
ASP.NET

#mstechdays

Démarrage à froid

JIT multi-cœur pour sites web ASP.NET

Code/developpement
Cohérence de performance avant et
après la mise à jour de .NET
•
•

Actuellement, mettre à jour le Framework .NET peut
amener à une dégradation des performances d’une
app juste après la mise à jour

•

Cela est dû aux assemblages .NET de base qui son
JITTER après la mise à jour

•

Sous Windows 8.1, la performance des apps reste
identique, même après la mise à jour du Framework
.NET

•

#mstechdays

Maintenir le Framework .NET pour plus d’un milliard
de PC est un vrai gros soucis !

Le résultat est une meilleure expérience utilisateur,
ainsi qu’une longévité supérieure des batteries des
tablettes
Code/developpement
Rappel sur le Large Object Heap (LOH)
• Il est long de compacter (= déplacer) des gros objets
Pour remédier à ce problème
– Le GC alloue les objets considérés « gros » (>85Ko) dans un tas
spécifique appelé Large Object Heap (LOH).
– le LOH n’est pas compacté
• On gagne en temps dans le GC, mais la création d’un gros objet est
par contre beaucoup plus lente

• Le Framework .NET 4.5 apporte une amélioration de
30% de la vitesse d’allocation dans le LOH par
rapport au Framework 4.0
Compactage sur demande du LOH
• 2 méthodes d’utilisation de l’API du GC pour le LOH
1. Compactage du LOH directement (right away)
GCSettings.LOHCompactionMode = GCLOHCompationMode.CompactOnce;
GC.Collect();

2. Compactage du LOH lors du traitement de la génération 2
// Next full blocking GC happens at some point, it will be a
compacting GC that compacts the whole heap including LOH.
GCSettings.LOHCompactionMode = GCLOHCompationMode.CompactOnce;

#mstechdays

Code/developpement
Compactage sur demande du LOH
• Le Garbage
Collector de .NET
est une machine
bien huilée
• En principe,
GC.Collect() ne
devrait jamais être
appelé
• ATTENTION : Les
grands pouvoirs
impliquent de
grandes
responsabilités !
#mstechdays

Code/developpement
Compactage sur demande du LOH
• Avec .NET 4.5.1, il est
maintenant possible de le
compacter afin de réduire
la fragmentation du tas
• La configuration du LOH
fait partie de GCSettings
public static class GCSettings {
public static GCLOHCompactionMode LOHCompactionMode { get; set; }
}
#mstechdays

Code/developpement
COMPACTAGE SUR
DEMANDE
DUFragmentation =
LOH
Fragmentation: 0% - Signifie que toute la mémoire libre est dans un seul grand bloc
Fragmentation: 90% - Lorsque il y a 100 Mo de mémoire libre est disponible,
mais plus grand bloc de mémoire libre pour une nouvelle allocation est seulement 10 MB
#mstechdays

Code/developpement
Innovation
continue

#mstechdays

Code/developpement
Mise à jour du Framework .NET
• L’objectif est de garder les valeurs existantes du
Framework .NET tout en permettant plus d’agilité et
d’innovation
• Valeurs existantes :
–
–
–
–

Facilité d’accès
Qualité connue, maturité et niveau de compatibilité
Une seule politique de licence et de support
Patching centralisé pour les problèmes de sécurité

• Les nouvelles valeurs :
– Cycle de release plus rapide avec un retour d’expérience client plus
proche
– Moins de friction lors d’utilisation des fonctionnalités de .NET sur
#mstechdays
Code/developpement
plusieurs plateformes
Release NuGet
• Lors de la release de .NET 4.5, deux composants ont
étés délivrés par NuGet :
– MEF (Microsoft Composition) pour les apps web et Windows Store
– TPL Dataflow (Microsoft.Tpl.Dataflow)
– Ces éléments sont traités comme n’importe quel autre composant de
.NET 4.5 (support complet)
System
Composition

TPL
Dataflow

Http Client

.NET (“in box”)
#mstechdays

Code/developpement

PCL

Immutable
Collections
Flux NuGet pour le Framework .NET
• Accès unique
pour tous les
packages NuGet
du framework
.NET livrés par
Microsoft
–
–

#mstechdays

Dans Visual Studio 2010,
2012 et 2013
Sur le web

Code/developpement
Flux NuGet pour le Framework .NET
• Déjà activé dans Visual Studio 2013

•
•
•
•

Sous Visual Studio 2010 et 2012
Tools.Options.Package Manager
Nom: .NET Framework Packages
Source: https://nuget.org/api/v2/curated-feeds/dotnetframework

#mstechdays

Code/developpement
LE PACKAGE
IMMUTABLE
COLLECTIONS EN ACTION
#mstechdays

Code/developpement
Architecture Interne (ImmutableList)
Créer une liste immutable

Ajouter
null

null

null

1
var list1 = ImmutableList.Create(1);
// list 1 = { 1 }

#mstechdays

Insérer
null

2

null

1

null

null

3

null

2
1

var list2 = list1.Add(2);
// list 1 = { 1 }
// list2 = { 1, 2 }

Code/developpement

var list3 = list2.Insert(0, 3);
// list1 = { 1 }
// list2 = { 1, 2 }
// list 3= { 3, 1, 2 }
Performances
• Ajouter des items
–

–

Les collections immutables consomment un peu plus de
mémoire par élément de stockage que leurs homologues
mutables
La consommation réelle de mémoire entre un type mutable
et type immutable peut varier en fonction de la façon dont
les instances sont utilisées

• Retirer des items
–

–

#mstechdays

Les collections mutables ne rétrécissent pas leurs tableaux
de sorte que vous n'avez pas à récupérer cette mémoire
Les collections immuables rétrécissent immédiatement
leurs arbres binaires pour chaque élément supprimé
• Cette mémoire libre est candidate pour la collecte du
GC
Code/developpement
Conseils d’utilisation
• Scénario de multithreading
– Mais pas forcement massivement concurrent
• Les collections de System.Collections.Concurrent sont là pour
ça !

• Pratique
– Vous voulez extraire des instantanés des vos collections
• Vous souhaitez les lire dans un contexte thread-safe, alors
que la collection originale peut continuer à être modifiée

• Rappel
– Les collections immutables sont généralement rapides à lire, mais
relativement coûteuses à mettre à jour
#mstechdays

Code/developpement
Synthèse du Framework .NET 4.5.1
Performance des applications Productivité du développeur

•

64-bit Edit and Continue •

•

Method Return Value
Inspection

•
•

•

#mstechdays

Async Debugging
Enhancements
Windows Store
development
improvements
EF/ADO.NET
Connection Resiliency

•

Innovation continue

ASP.NET application
suspension
Multi-core JIT
improvements

•

On-demand large-object
heap compaction

•

Consistent performance
before and after servicing
the .NET Framework

Code/developpement

NET Framework
updates
•

NuGet releases

•

Curated .NET
Framework NuGet
packages
De nombreux moyens de communication

E-mail

dotnet

Blog
#mstechdays

MSDN Forums

Code/developpement

@dotnet

UserVoice
Donnez votre avis !
Depuis votre smartphone sur :
http://notes.mstechdays.fr
De nombreux lots à gagner toute les heures !!!
Claviers, souris et jeux Microsoft…
Merci de nous aider à améliorer les Techdays !

#mstechdays

Code/developpement
Présentation de Cellenza

Ve n e z n o u s r e t r o u ve r s u r n o t r e St a n d # 1 5

Vous pouvez vous inscrire à
notre jeu concours sur notre
stand ou en ligne :
http://jeuconcours.cellenza.com

Merci !
Digital is
business

Mais conteúdo relacionado

Mais procurados

Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et Mobile
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et MobileNouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et Mobile
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et MobileIppon
 
Alphorm.com Formation Nagios et Cacti : Installation et Administration
Alphorm.com Formation Nagios et Cacti : Installation et AdministrationAlphorm.com Formation Nagios et Cacti : Installation et Administration
Alphorm.com Formation Nagios et Cacti : Installation et AdministrationAlphorm
 
TechDays 2014 : retour d'expérience Kompass migration Java dans Azure
TechDays 2014 : retour d'expérience Kompass migration Java dans AzureTechDays 2014 : retour d'expérience Kompass migration Java dans Azure
TechDays 2014 : retour d'expérience Kompass migration Java dans AzureThomas Conté
 
Alphorm.com Formation Kubernetes : Installation et Configuration
Alphorm.com Formation Kubernetes : Installation et ConfigurationAlphorm.com Formation Kubernetes : Installation et Configuration
Alphorm.com Formation Kubernetes : Installation et ConfigurationAlphorm
 
What’s Next Replay! Lyon 2011 - F. Fornaciari
What’s Next Replay! Lyon 2011 - F. FornaciariWhat’s Next Replay! Lyon 2011 - F. Fornaciari
What’s Next Replay! Lyon 2011 - F. FornaciariZenika
 
Exchange 2013 Dimensionnement et Performance
Exchange 2013 Dimensionnement et Performance Exchange 2013 Dimensionnement et Performance
Exchange 2013 Dimensionnement et Performance Microsoft Technet France
 
Alphorm.com Formation Nouveautés Windows Server 2016
Alphorm.com Formation Nouveautés Windows Server 2016Alphorm.com Formation Nouveautés Windows Server 2016
Alphorm.com Formation Nouveautés Windows Server 2016Alphorm
 
L’hyperconvergence au cœur du Software-defined data center
L’hyperconvergence au cœur du Software-defined data centerL’hyperconvergence au cœur du Software-defined data center
L’hyperconvergence au cœur du Software-defined data centerColloqueRISQ
 
Alphorm.com Formation Oracle 12c DBA2 : Installation et mise à niveau
Alphorm.com Formation Oracle 12c DBA2 : Installation et mise à niveauAlphorm.com Formation Oracle 12c DBA2 : Installation et mise à niveau
Alphorm.com Formation Oracle 12c DBA2 : Installation et mise à niveauAlphorm
 
De Maven à SBT ScalaIO 2013
De Maven à SBT ScalaIO 2013De Maven à SBT ScalaIO 2013
De Maven à SBT ScalaIO 2013Stephane Manciot
 
Alphorm.com Formation Microsoft Hyperconvergence
Alphorm.com Formation Microsoft HyperconvergenceAlphorm.com Formation Microsoft Hyperconvergence
Alphorm.com Formation Microsoft HyperconvergenceAlphorm
 
Introduction à eZ Publish Platform 5.3
Introduction à eZ Publish Platform 5.3 Introduction à eZ Publish Platform 5.3
Introduction à eZ Publish Platform 5.3 Roland Benedetti
 
Vue d'ensemble des nouveautés de System Center 2012 R2
Vue d'ensemble des nouveautés de System Center 2012 R2Vue d'ensemble des nouveautés de System Center 2012 R2
Vue d'ensemble des nouveautés de System Center 2012 R2Microsoft Technet France
 
Alphorm.com Formation pfSense: Le firewall open source de référence
Alphorm.com Formation pfSense: Le firewall open source de référenceAlphorm.com Formation pfSense: Le firewall open source de référence
Alphorm.com Formation pfSense: Le firewall open source de référenceAlphorm
 
Oxalide Morning tech #2 - démarche performance
Oxalide Morning tech #2 - démarche performanceOxalide Morning tech #2 - démarche performance
Oxalide Morning tech #2 - démarche performanceLudovic Piot
 
Retour d'expérience sur DirectAccess, bonnes pratiques, dépannage
Retour d'expérience sur DirectAccess, bonnes pratiques, dépannageRetour d'expérience sur DirectAccess, bonnes pratiques, dépannage
Retour d'expérience sur DirectAccess, bonnes pratiques, dépannageMicrosoft Technet France
 

Mais procurados (20)

Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et Mobile
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et MobileNouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et Mobile
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et Mobile
 
Alphorm.com Formation Nagios et Cacti : Installation et Administration
Alphorm.com Formation Nagios et Cacti : Installation et AdministrationAlphorm.com Formation Nagios et Cacti : Installation et Administration
Alphorm.com Formation Nagios et Cacti : Installation et Administration
 
TechDays 2014 : retour d'expérience Kompass migration Java dans Azure
TechDays 2014 : retour d'expérience Kompass migration Java dans AzureTechDays 2014 : retour d'expérience Kompass migration Java dans Azure
TechDays 2014 : retour d'expérience Kompass migration Java dans Azure
 
Alphorm.com Formation Kubernetes : Installation et Configuration
Alphorm.com Formation Kubernetes : Installation et ConfigurationAlphorm.com Formation Kubernetes : Installation et Configuration
Alphorm.com Formation Kubernetes : Installation et Configuration
 
What’s Next Replay! Lyon 2011 - F. Fornaciari
What’s Next Replay! Lyon 2011 - F. FornaciariWhat’s Next Replay! Lyon 2011 - F. Fornaciari
What’s Next Replay! Lyon 2011 - F. Fornaciari
 
Exchange 2013 Dimensionnement et Performance
Exchange 2013 Dimensionnement et Performance Exchange 2013 Dimensionnement et Performance
Exchange 2013 Dimensionnement et Performance
 
Alphorm.com Formation Nouveautés Windows Server 2016
Alphorm.com Formation Nouveautés Windows Server 2016Alphorm.com Formation Nouveautés Windows Server 2016
Alphorm.com Formation Nouveautés Windows Server 2016
 
L’hyperconvergence au cœur du Software-defined data center
L’hyperconvergence au cœur du Software-defined data centerL’hyperconvergence au cœur du Software-defined data center
L’hyperconvergence au cœur du Software-defined data center
 
Alphorm.com Formation Oracle 12c DBA2 : Installation et mise à niveau
Alphorm.com Formation Oracle 12c DBA2 : Installation et mise à niveauAlphorm.com Formation Oracle 12c DBA2 : Installation et mise à niveau
Alphorm.com Formation Oracle 12c DBA2 : Installation et mise à niveau
 
ISDay 2018 - Atelier Veeam
ISDay 2018 - Atelier VeeamISDay 2018 - Atelier Veeam
ISDay 2018 - Atelier Veeam
 
De Maven à SBT ScalaIO 2013
De Maven à SBT ScalaIO 2013De Maven à SBT ScalaIO 2013
De Maven à SBT ScalaIO 2013
 
Haute disponibilité jss2012
Haute disponibilité jss2012Haute disponibilité jss2012
Haute disponibilité jss2012
 
Alphorm.com Formation Microsoft Hyperconvergence
Alphorm.com Formation Microsoft HyperconvergenceAlphorm.com Formation Microsoft Hyperconvergence
Alphorm.com Formation Microsoft Hyperconvergence
 
Introduction à eZ Publish Platform 5.3
Introduction à eZ Publish Platform 5.3 Introduction à eZ Publish Platform 5.3
Introduction à eZ Publish Platform 5.3
 
Exchange 2013 Bonnes pratiques
Exchange 2013 Bonnes pratiques Exchange 2013 Bonnes pratiques
Exchange 2013 Bonnes pratiques
 
Vue d'ensemble des nouveautés de System Center 2012 R2
Vue d'ensemble des nouveautés de System Center 2012 R2Vue d'ensemble des nouveautés de System Center 2012 R2
Vue d'ensemble des nouveautés de System Center 2012 R2
 
Alphorm.com Formation pfSense: Le firewall open source de référence
Alphorm.com Formation pfSense: Le firewall open source de référenceAlphorm.com Formation pfSense: Le firewall open source de référence
Alphorm.com Formation pfSense: Le firewall open source de référence
 
Exchange Stockage : Mythes et Réalités
Exchange Stockage : Mythes et RéalitésExchange Stockage : Mythes et Réalités
Exchange Stockage : Mythes et Réalités
 
Oxalide Morning tech #2 - démarche performance
Oxalide Morning tech #2 - démarche performanceOxalide Morning tech #2 - démarche performance
Oxalide Morning tech #2 - démarche performance
 
Retour d'expérience sur DirectAccess, bonnes pratiques, dépannage
Retour d'expérience sur DirectAccess, bonnes pratiques, dépannageRetour d'expérience sur DirectAccess, bonnes pratiques, dépannage
Retour d'expérience sur DirectAccess, bonnes pratiques, dépannage
 

Destaque

ASP.NET Web API & Azure API Management
ASP.NET Web API & Azure API ManagementASP.NET Web API & Azure API Management
ASP.NET Web API & Azure API ManagementMicrosoft
 
Les nouveautés SQL Server 2016
Les nouveautés SQL Server 2016Les nouveautés SQL Server 2016
Les nouveautés SQL Server 2016Microsoft
 
Minecraft, mais pas que...
Minecraft, mais pas que...Minecraft, mais pas que...
Minecraft, mais pas que...Microsoft
 
Boite à outils du développeur : les indispensables
Boite à outils du développeur : les indispensablesBoite à outils du développeur : les indispensables
Boite à outils du développeur : les indispensablesMicrosoft
 
Comment développer sur la console Xbox One avec une application Universal Win...
Comment développer sur la console Xbox One avec une application Universal Win...Comment développer sur la console Xbox One avec une application Universal Win...
Comment développer sur la console Xbox One avec une application Universal Win...Microsoft
 
Applications multi plateformes avec Cordova, HTML5 et Javascript
Applications multi plateformes avec Cordova, HTML5 et JavascriptApplications multi plateformes avec Cordova, HTML5 et Javascript
Applications multi plateformes avec Cordova, HTML5 et JavascriptMicrosoft
 
ASP.NET 5: la révolution est en marche
ASP.NET 5: la révolution est en marcheASP.NET 5: la révolution est en marche
ASP.NET 5: la révolution est en marcheMicrosoft
 
Créer un Minecraft avec BabylonJS
Créer un Minecraft avec BabylonJSCréer un Minecraft avec BabylonJS
Créer un Minecraft avec BabylonJSMicrosoft
 
Uwp + Xamarin : Du nouveau en terre du milieu
Uwp + Xamarin : Du nouveau en terre du milieuUwp + Xamarin : Du nouveau en terre du milieu
Uwp + Xamarin : Du nouveau en terre du milieuMicrosoft
 
Entity Framework 7 : nouvelle version majeure d’Entity Framework
Entity Framework 7 : nouvelle version majeure d’Entity FrameworkEntity Framework 7 : nouvelle version majeure d’Entity Framework
Entity Framework 7 : nouvelle version majeure d’Entity FrameworkMicrosoft
 
Les nouveautés de C# 7
Les nouveautés de C# 7Les nouveautés de C# 7
Les nouveautés de C# 7Microsoft
 
Quoi de neuf avec Visual Studio 2015, 2013 Update 4 et sa Community Edition ?
Quoi de neuf avec Visual Studio 2015, 2013 Update 4 et sa Community Edition ? Quoi de neuf avec Visual Studio 2015, 2013 Update 4 et sa Community Edition ?
Quoi de neuf avec Visual Studio 2015, 2013 Update 4 et sa Community Edition ? Microsoft
 
Overview of .Net Framework 4.5
Overview of .Net Framework 4.5Overview of .Net Framework 4.5
Overview of .Net Framework 4.5Bhushan Mulmule
 
Introduction to .NET Framework and C# (English)
Introduction to .NET Framework and C# (English)Introduction to .NET Framework and C# (English)
Introduction to .NET Framework and C# (English)Vangos Pterneas
 
.NET Framework Overview
.NET Framework Overview.NET Framework Overview
.NET Framework OverviewDoncho Minkov
 
Introduction To Dotnet
Introduction To DotnetIntroduction To Dotnet
Introduction To DotnetSAMIR BHOGAYTA
 
Introduction to .net framework
Introduction to .net frameworkIntroduction to .net framework
Introduction to .net frameworkArun Prasad
 

Destaque (18)

ASP.NET Web API & Azure API Management
ASP.NET Web API & Azure API ManagementASP.NET Web API & Azure API Management
ASP.NET Web API & Azure API Management
 
Les nouveautés SQL Server 2016
Les nouveautés SQL Server 2016Les nouveautés SQL Server 2016
Les nouveautés SQL Server 2016
 
Minecraft, mais pas que...
Minecraft, mais pas que...Minecraft, mais pas que...
Minecraft, mais pas que...
 
Boite à outils du développeur : les indispensables
Boite à outils du développeur : les indispensablesBoite à outils du développeur : les indispensables
Boite à outils du développeur : les indispensables
 
Comment développer sur la console Xbox One avec une application Universal Win...
Comment développer sur la console Xbox One avec une application Universal Win...Comment développer sur la console Xbox One avec une application Universal Win...
Comment développer sur la console Xbox One avec une application Universal Win...
 
Applications multi plateformes avec Cordova, HTML5 et Javascript
Applications multi plateformes avec Cordova, HTML5 et JavascriptApplications multi plateformes avec Cordova, HTML5 et Javascript
Applications multi plateformes avec Cordova, HTML5 et Javascript
 
ASP.NET 5: la révolution est en marche
ASP.NET 5: la révolution est en marcheASP.NET 5: la révolution est en marche
ASP.NET 5: la révolution est en marche
 
Créer un Minecraft avec BabylonJS
Créer un Minecraft avec BabylonJSCréer un Minecraft avec BabylonJS
Créer un Minecraft avec BabylonJS
 
Uwp + Xamarin : Du nouveau en terre du milieu
Uwp + Xamarin : Du nouveau en terre du milieuUwp + Xamarin : Du nouveau en terre du milieu
Uwp + Xamarin : Du nouveau en terre du milieu
 
Entity Framework 7 : nouvelle version majeure d’Entity Framework
Entity Framework 7 : nouvelle version majeure d’Entity FrameworkEntity Framework 7 : nouvelle version majeure d’Entity Framework
Entity Framework 7 : nouvelle version majeure d’Entity Framework
 
Les nouveautés de C# 7
Les nouveautés de C# 7Les nouveautés de C# 7
Les nouveautés de C# 7
 
Quoi de neuf avec Visual Studio 2015, 2013 Update 4 et sa Community Edition ?
Quoi de neuf avec Visual Studio 2015, 2013 Update 4 et sa Community Edition ? Quoi de neuf avec Visual Studio 2015, 2013 Update 4 et sa Community Edition ?
Quoi de neuf avec Visual Studio 2015, 2013 Update 4 et sa Community Edition ?
 
Overview of .Net Framework 4.5
Overview of .Net Framework 4.5Overview of .Net Framework 4.5
Overview of .Net Framework 4.5
 
Introduction to .NET Framework and C# (English)
Introduction to .NET Framework and C# (English)Introduction to .NET Framework and C# (English)
Introduction to .NET Framework and C# (English)
 
Introduction to .NET Framework
Introduction to .NET FrameworkIntroduction to .NET Framework
Introduction to .NET Framework
 
.NET Framework Overview
.NET Framework Overview.NET Framework Overview
.NET Framework Overview
 
Introduction To Dotnet
Introduction To DotnetIntroduction To Dotnet
Introduction To Dotnet
 
Introduction to .net framework
Introduction to .net frameworkIntroduction to .net framework
Introduction to .net framework
 

Semelhante a Au cœur du Framework .NET 4.5.1

"J'ai migré mon SI intégralement en Java dans Windows Azure et je me porte bi...
"J'ai migré mon SI intégralement en Java dans Windows Azure et je me porte bi..."J'ai migré mon SI intégralement en Java dans Windows Azure et je me porte bi...
"J'ai migré mon SI intégralement en Java dans Windows Azure et je me porte bi...Microsoft
 
Cours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdfCours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdfboulonvert
 
Formation d'architecte logiciel AFCEPF
Formation d'architecte logiciel AFCEPFFormation d'architecte logiciel AFCEPF
Formation d'architecte logiciel AFCEPFBoubker ABERWAG
 
Quoi de neuf à Devoxx France 2017 ?
Quoi de neuf à Devoxx France 2017 ?Quoi de neuf à Devoxx France 2017 ?
Quoi de neuf à Devoxx France 2017 ?Antoine Rey
 
Plus de flexibilité et de scalabilité chez Bouygues Télécom grâce à MongoDB
Plus de flexibilité et de scalabilité chez Bouygues Télécom grâce à MongoDBPlus de flexibilité et de scalabilité chez Bouygues Télécom grâce à MongoDB
Plus de flexibilité et de scalabilité chez Bouygues Télécom grâce à MongoDBMongoDB
 
Plus de flexibilité et de scalabilité chez Bouygues Télécom grâce à MongoDB
Plus de flexibilité et de scalabilité chez Bouygues Télécom grâce à MongoDBPlus de flexibilité et de scalabilité chez Bouygues Télécom grâce à MongoDB
Plus de flexibilité et de scalabilité chez Bouygues Télécom grâce à MongoDBPierre-Alban DEWITTE
 
Découverte .Net Core et Asp.Net Core
Découverte .Net Core et Asp.Net CoreDécouverte .Net Core et Asp.Net Core
Découverte .Net Core et Asp.Net CoreIonut Mihalcea
 
Embarquer une base de données locale dans vos logiciels et applications mobiles
Embarquer une base de données locale dans vos logiciels et applications mobilesEmbarquer une base de données locale dans vos logiciels et applications mobiles
Embarquer une base de données locale dans vos logiciels et applications mobilespprem
 
Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !VISEO
 
developpement web framework cms developpement brute
developpement web framework cms developpement brutedeveloppement web framework cms developpement brute
developpement web framework cms developpement bruteYounesOuladSayad1
 
Toutes les raisons d'adopter MongoDB
Toutes les raisons d'adopter MongoDBToutes les raisons d'adopter MongoDB
Toutes les raisons d'adopter MongoDBContent Square
 
Azure Camp 9 Décembre 2014 - slides Keynote
Azure Camp 9 Décembre 2014 - slides KeynoteAzure Camp 9 Décembre 2014 - slides Keynote
Azure Camp 9 Décembre 2014 - slides KeynoteMicrosoft
 
01 - [ASP.NET Core] Plénière
01 - [ASP.NET Core] Plénière 01 - [ASP.NET Core] Plénière
01 - [ASP.NET Core] Plénière Cellenza
 
Accéder au développement Dot.Net et Asp.Net
Accéder au développement Dot.Net et Asp.NetAccéder au développement Dot.Net et Asp.Net
Accéder au développement Dot.Net et Asp.NetFrédéric Vandenbriele
 
SUSE Expert Days Paris 2018 – CaaSP
SUSE Expert Days Paris 2018 – CaaSPSUSE Expert Days Paris 2018 – CaaSP
SUSE Expert Days Paris 2018 – CaaSPSUSE
 
Vincent biret azure functions et flow (montreal)
Vincent biret azure functions et flow (montreal)Vincent biret azure functions et flow (montreal)
Vincent biret azure functions et flow (montreal)Vincent Biret
 
XebiCon'16 : Architecture MicroServices avec Azure par Michel Hubert, CTO de ...
XebiCon'16 : Architecture MicroServices avec Azure par Michel Hubert, CTO de ...XebiCon'16 : Architecture MicroServices avec Azure par Michel Hubert, CTO de ...
XebiCon'16 : Architecture MicroServices avec Azure par Michel Hubert, CTO de ...Publicis Sapient Engineering
 
Afterworks @Nouméa - DevOps, approche par container et Docker
Afterworks @Nouméa - DevOps, approche par container et DockerAfterworks @Nouméa - DevOps, approche par container et Docker
Afterworks @Nouméa - DevOps, approche par container et DockerJulien Chable
 
What's Next Replay - IC / Jenkins
What's Next Replay - IC / JenkinsWhat's Next Replay - IC / Jenkins
What's Next Replay - IC / JenkinsZenikaOuest
 

Semelhante a Au cœur du Framework .NET 4.5.1 (20)

"J'ai migré mon SI intégralement en Java dans Windows Azure et je me porte bi...
"J'ai migré mon SI intégralement en Java dans Windows Azure et je me porte bi..."J'ai migré mon SI intégralement en Java dans Windows Azure et je me porte bi...
"J'ai migré mon SI intégralement en Java dans Windows Azure et je me porte bi...
 
Cours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdfCours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdf
 
Formation d'architecte logiciel AFCEPF
Formation d'architecte logiciel AFCEPFFormation d'architecte logiciel AFCEPF
Formation d'architecte logiciel AFCEPF
 
Quoi de neuf à Devoxx France 2017 ?
Quoi de neuf à Devoxx France 2017 ?Quoi de neuf à Devoxx France 2017 ?
Quoi de neuf à Devoxx France 2017 ?
 
Dev opsday case study
Dev opsday   case studyDev opsday   case study
Dev opsday case study
 
Plus de flexibilité et de scalabilité chez Bouygues Télécom grâce à MongoDB
Plus de flexibilité et de scalabilité chez Bouygues Télécom grâce à MongoDBPlus de flexibilité et de scalabilité chez Bouygues Télécom grâce à MongoDB
Plus de flexibilité et de scalabilité chez Bouygues Télécom grâce à MongoDB
 
Plus de flexibilité et de scalabilité chez Bouygues Télécom grâce à MongoDB
Plus de flexibilité et de scalabilité chez Bouygues Télécom grâce à MongoDBPlus de flexibilité et de scalabilité chez Bouygues Télécom grâce à MongoDB
Plus de flexibilité et de scalabilité chez Bouygues Télécom grâce à MongoDB
 
Découverte .Net Core et Asp.Net Core
Découverte .Net Core et Asp.Net CoreDécouverte .Net Core et Asp.Net Core
Découverte .Net Core et Asp.Net Core
 
Embarquer une base de données locale dans vos logiciels et applications mobiles
Embarquer une base de données locale dans vos logiciels et applications mobilesEmbarquer une base de données locale dans vos logiciels et applications mobiles
Embarquer une base de données locale dans vos logiciels et applications mobiles
 
Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !
 
developpement web framework cms developpement brute
developpement web framework cms developpement brutedeveloppement web framework cms developpement brute
developpement web framework cms developpement brute
 
Toutes les raisons d'adopter MongoDB
Toutes les raisons d'adopter MongoDBToutes les raisons d'adopter MongoDB
Toutes les raisons d'adopter MongoDB
 
Azure Camp 9 Décembre 2014 - slides Keynote
Azure Camp 9 Décembre 2014 - slides KeynoteAzure Camp 9 Décembre 2014 - slides Keynote
Azure Camp 9 Décembre 2014 - slides Keynote
 
01 - [ASP.NET Core] Plénière
01 - [ASP.NET Core] Plénière 01 - [ASP.NET Core] Plénière
01 - [ASP.NET Core] Plénière
 
Accéder au développement Dot.Net et Asp.Net
Accéder au développement Dot.Net et Asp.NetAccéder au développement Dot.Net et Asp.Net
Accéder au développement Dot.Net et Asp.Net
 
SUSE Expert Days Paris 2018 – CaaSP
SUSE Expert Days Paris 2018 – CaaSPSUSE Expert Days Paris 2018 – CaaSP
SUSE Expert Days Paris 2018 – CaaSP
 
Vincent biret azure functions et flow (montreal)
Vincent biret azure functions et flow (montreal)Vincent biret azure functions et flow (montreal)
Vincent biret azure functions et flow (montreal)
 
XebiCon'16 : Architecture MicroServices avec Azure par Michel Hubert, CTO de ...
XebiCon'16 : Architecture MicroServices avec Azure par Michel Hubert, CTO de ...XebiCon'16 : Architecture MicroServices avec Azure par Michel Hubert, CTO de ...
XebiCon'16 : Architecture MicroServices avec Azure par Michel Hubert, CTO de ...
 
Afterworks @Nouméa - DevOps, approche par container et Docker
Afterworks @Nouméa - DevOps, approche par container et DockerAfterworks @Nouméa - DevOps, approche par container et Docker
Afterworks @Nouméa - DevOps, approche par container et Docker
 
What's Next Replay - IC / Jenkins
What's Next Replay - IC / JenkinsWhat's Next Replay - IC / Jenkins
What's Next Replay - IC / Jenkins
 

Mais de Microsoft

La Blockchain pas à PaaS
La Blockchain pas à PaaSLa Blockchain pas à PaaS
La Blockchain pas à PaaSMicrosoft
 
Tester, Monitorer et Déployer son application mobile
Tester, Monitorer et Déployer son application mobileTester, Monitorer et Déployer son application mobile
Tester, Monitorer et Déployer son application mobileMicrosoft
 
Windows 10, un an après – Nouveautés & Démo
Windows 10, un an après – Nouveautés & Démo Windows 10, un an après – Nouveautés & Démo
Windows 10, un an après – Nouveautés & Démo Microsoft
 
Prenez votre pied avec les bots et cognitive services.
Prenez votre pied avec les bots et cognitive services.Prenez votre pied avec les bots et cognitive services.
Prenez votre pied avec les bots et cognitive services.Microsoft
 
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...Microsoft
 
Créer un bot de A à Z
Créer un bot de A à ZCréer un bot de A à Z
Créer un bot de A à ZMicrosoft
 
Microsoft Composition, pierre angulaire de vos applications ?
Microsoft Composition, pierre angulaire de vos applications ?Microsoft Composition, pierre angulaire de vos applications ?
Microsoft Composition, pierre angulaire de vos applications ?Microsoft
 
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?Microsoft
 
Administration et supervision depuis le Cloud avec Azure Logs Analytics
Administration et supervision depuis le Cloud avec Azure Logs AnalyticsAdministration et supervision depuis le Cloud avec Azure Logs Analytics
Administration et supervision depuis le Cloud avec Azure Logs AnalyticsMicrosoft
 
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...Microsoft
 
Plan de Reprise d'Activité avec Azure Site Recovery
Plan de Reprise d'Activité avec Azure Site RecoveryPlan de Reprise d'Activité avec Azure Site Recovery
Plan de Reprise d'Activité avec Azure Site RecoveryMicrosoft
 
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...Microsoft
 
Transformation de la représentation : De la VR à la RA, aller & retour.
Transformation de la représentation : De la VR à la RA, aller & retour.Transformation de la représentation : De la VR à la RA, aller & retour.
Transformation de la représentation : De la VR à la RA, aller & retour.Microsoft
 
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...Microsoft
 
Introduction à ASP.NET Core
Introduction à ASP.NET CoreIntroduction à ASP.NET Core
Introduction à ASP.NET CoreMicrosoft
 
Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?Microsoft
 
Azure Service Fabric pour les développeurs
Azure Service Fabric pour les développeursAzure Service Fabric pour les développeurs
Azure Service Fabric pour les développeursMicrosoft
 
La 3D sur le web avec Babylon.js pas à pas
La 3D sur le web avec Babylon.js pas à pasLa 3D sur le web avec Babylon.js pas à pas
La 3D sur le web avec Babylon.js pas à pasMicrosoft
 
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...Microsoft
 
Le développement web : tour d'horizon
Le développement web : tour d'horizonLe développement web : tour d'horizon
Le développement web : tour d'horizonMicrosoft
 

Mais de Microsoft (20)

La Blockchain pas à PaaS
La Blockchain pas à PaaSLa Blockchain pas à PaaS
La Blockchain pas à PaaS
 
Tester, Monitorer et Déployer son application mobile
Tester, Monitorer et Déployer son application mobileTester, Monitorer et Déployer son application mobile
Tester, Monitorer et Déployer son application mobile
 
Windows 10, un an après – Nouveautés & Démo
Windows 10, un an après – Nouveautés & Démo Windows 10, un an après – Nouveautés & Démo
Windows 10, un an après – Nouveautés & Démo
 
Prenez votre pied avec les bots et cognitive services.
Prenez votre pied avec les bots et cognitive services.Prenez votre pied avec les bots et cognitive services.
Prenez votre pied avec les bots et cognitive services.
 
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
 
Créer un bot de A à Z
Créer un bot de A à ZCréer un bot de A à Z
Créer un bot de A à Z
 
Microsoft Composition, pierre angulaire de vos applications ?
Microsoft Composition, pierre angulaire de vos applications ?Microsoft Composition, pierre angulaire de vos applications ?
Microsoft Composition, pierre angulaire de vos applications ?
 
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
 
Administration et supervision depuis le Cloud avec Azure Logs Analytics
Administration et supervision depuis le Cloud avec Azure Logs AnalyticsAdministration et supervision depuis le Cloud avec Azure Logs Analytics
Administration et supervision depuis le Cloud avec Azure Logs Analytics
 
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
 
Plan de Reprise d'Activité avec Azure Site Recovery
Plan de Reprise d'Activité avec Azure Site RecoveryPlan de Reprise d'Activité avec Azure Site Recovery
Plan de Reprise d'Activité avec Azure Site Recovery
 
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
 
Transformation de la représentation : De la VR à la RA, aller & retour.
Transformation de la représentation : De la VR à la RA, aller & retour.Transformation de la représentation : De la VR à la RA, aller & retour.
Transformation de la représentation : De la VR à la RA, aller & retour.
 
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
 
Introduction à ASP.NET Core
Introduction à ASP.NET CoreIntroduction à ASP.NET Core
Introduction à ASP.NET Core
 
Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?
 
Azure Service Fabric pour les développeurs
Azure Service Fabric pour les développeursAzure Service Fabric pour les développeurs
Azure Service Fabric pour les développeurs
 
La 3D sur le web avec Babylon.js pas à pas
La 3D sur le web avec Babylon.js pas à pasLa 3D sur le web avec Babylon.js pas à pas
La 3D sur le web avec Babylon.js pas à pas
 
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
 
Le développement web : tour d'horizon
Le développement web : tour d'horizonLe développement web : tour d'horizon
Le développement web : tour d'horizon
 

Au cœur du Framework .NET 4.5.1

  • 1.
  • 2. Au cœur du Framework 4.5.1 Bruno BOUCARD MVP C++ Cellenza blogs.msdn.com/devpara/ Code/Developpement Michel PERFETTI MVP ALM Cellenza buildmeimfamous.net
  • 3. Présentation de Cellenza Cabinet de conseil IT exclusivement dédié aux technologies Microsoft et aux méthodes Agiles Notre passion, les technologies MS Nous sommes des experts Microsoft, agilistes par nature, passionnés par notre métier. Consultants, coachs, formateurs et/ou MVP, nous avons à cœur de partager avec la communauté un savoir technique et méthodologique, mais aussi nos valeurs 150 billets de blog Comment nous le faisons : • • • Formation continue Partage de connaissance Partenariats > 12j formati on 7 MVP 7 MCT 30 art. de presse
  • 4. .NET (Une vue *très* simplifiée) Runtime #mstechdays Libraries Languages Code/developpement Tools .NET
  • 5. Contenu de .NET 4.5 Client & Device Web & Cloud Fundamentals GC Libraries • Async – for UI responsiveness • Windows Store apps -- WinRT • Windows Phone apps • .NET CF 3.9 • Async – for server scaling • ASP.NET MVC4 • ASP.NET Web API • ASP.NET Web Pages • Entity Framework Code-First • WebSockets • SignalR • Windows Azure Cloud Services 4.5 Support • Windows Azure Web Sites • .NET Async (async + await) • Many new async APIs • WinRT interop • Multi-core JIT • MPGO – NGEN hot/cold splitting • Performance improvements • Reboot and reliability improvements to setup • Support Windows RT • Background GC • LOH heap balancing • LOH fragmentation reduction • GC low latency mode • GC awareness of NUMA and >64 processors • >2GB arrays (or objects) • Portable libraries update • .NET Core Profile (Windows 8) • Extension methods for WinRT streams and async • NuGet • Immutable collections • Async for .NET 4 • HttpClient for Portable .NET 4.5 est installé sur plus de 100+ million de machines! #mstechdays Code/developpement
  • 6. .NET 4.5.1 en trois axes Productivité du développeur Performance des applications Innovations constantes #mstechdays Code/developpement
  • 8. En 2005, il y avait une fonctionnalité nommée «Edit & Continue», mais quelque chose manquait… #mstechdays Code/developpement
  • 10. «Edit & Continue» pour 64-bits est là ! • • • • Fortement demandé par la communauté Fonctionne exactement comme pour les applications 32bits Projets client (WPF, WinForms, etc), Store et applications web ASP.NET sont supportés Pour les projets d’application web activer «Edit & Continue» dans les propriétés du projet #mstechdays Code/developpement
  • 11. Mais il y a mieux… #mstechdays Code/developpement
  • 13. Inspection des valeurs de retour de méthode • Maintenant disponible pour .NET ! • Accès par les fenêtres «Autos» et «Immediat» ($ReturnValue) • Peut étendre les valeurs de retour dans le debugger #mstechdays Code/developpement
  • 14. Améliorations du débogage async • Question fréquente : – Comment l’exécution arrive-t-elle ici ? • Supporte les Store Apps, les Web Apps ainsi que les applications desktop sous Windows 8.1 • Amélioration des fenêtres «Call Stack» et Tasks #mstechdays Code/developpement
  • 15. Résilience des connexions EF/ADO.NET • • • • Fourni une connexion vers Azure DB fiable Restauration automatique de connexion rompue Fourni un grande expérience depuis des appareils connectés Ca fonctionne ! Aucune configuration ou modification de code autre que d’installer .NET 4.5.1 #mstechdays Code/developpement
  • 17. Et du côté de Windows Store … #mstechdays Code/developpement
  • 18. Conversion de Stream vers IRandomAccessStream Des forums MSDN : bitmap.SetSource(memoryStream); <-- error CS1503: Argument 1: cannot convert from 'System.IO.Stream' to 'Windows.Storage.Streams.IRandomAccessStream‘ bitmap.SetSource(memoryStream.AsRandomAccessStream()); <-- .NET 4.5.1 Dans .NET 4.5.1 : System.IO.WindowsRuntimeStreamExtensions .AsRandomAccessStream(Stream stream) #mstechdays Code/developpement
  • 19. Support des exceptions APIs WinRT • Sous Windows 8, la propagation des erreurs depuis les APIs WinRT se fait à travers des HRESULT – • Les informations importantes sur ces exceptions sont perdues, à moins qu’un débogueur soit attaché Sous Windows 8.1, des informations additionnelles sur l’erreur sont disponibles grâce aux propriétés de System.Exception : – – Message StackTrace Additional exception details from a C++ WinRT Component #mstechdays Code/developpement
  • 21. Suspension des applications ASP.NET • Ajoute la capacité de suspendre une application via une machine à trois états • • Tous les sites débutent dans un état inactif Lorsque les sites sont réclamés, ils sont chargés en mémoire, deviennent actifs, et de répondre aux requêtes clientes Les sites activés seront suspendus après un délai prédéfini • Les sites suspendus perdent l'accès à la CPU, ce qui libère des cycles CPU et de la mémoire pour les demandes vers d'autres sites. • ils sont maintenus dans le nouvel état suspendu • ils peuvent être repris très rapidement et répondre à de nouvelles requêtes très rapidement • #mstechdays Code/developpement
  • 22. Suspension des applications ASP.NET • Permet faible latence, des sites Web de haute densité pour le cloud onprem/private • Livraison dans le cadre de IIS 8.5 dans Windows Server 2012 R2 #mstechdays Résultats en provenance de chez Microsoft Code/developpement
  • 23. Suspension des applications ASP.NET Dans les paramètres de IIS, définissez délai d'inactivité sur « suspend » Plus information: ASP.NET App Suspend – responsive shared .NET web hosting #mstechdays Code/developpement
  • 24. Rappel sur le compilateur Just-In-Time Les compilateurs .NET • • • Transforment à la volée le code IL (résultat de la compilation de source .NET) en code assembleur Compilation à la demande (just in time) et une seule fois par fonction Cependant • • #mstechdays Démarrage à froid • Certaines applications/services ont besoin de démarrer le plus vite possible, et souffrent du temps de JIT Le Framework .NET 4.5 permet de JITTER en // les Apps du Store et les applications/service .NET dont les assemblages sont dans le GAC Code/developpement
  • 25. • • • Minimise le temps de démarrage sur des processeurs multi cœurs Désormais pris en charge pour les sites Web ASP.NET Activé par défaut pour les applications ASP.NET #mstechdays Démarrage à froid JIT multi-cœur pour sites web ASP.NET Code/developpement
  • 26. Cohérence de performance avant et après la mise à jour de .NET • • Actuellement, mettre à jour le Framework .NET peut amener à une dégradation des performances d’une app juste après la mise à jour • Cela est dû aux assemblages .NET de base qui son JITTER après la mise à jour • Sous Windows 8.1, la performance des apps reste identique, même après la mise à jour du Framework .NET • #mstechdays Maintenir le Framework .NET pour plus d’un milliard de PC est un vrai gros soucis ! Le résultat est une meilleure expérience utilisateur, ainsi qu’une longévité supérieure des batteries des tablettes Code/developpement
  • 27. Rappel sur le Large Object Heap (LOH) • Il est long de compacter (= déplacer) des gros objets Pour remédier à ce problème – Le GC alloue les objets considérés « gros » (>85Ko) dans un tas spécifique appelé Large Object Heap (LOH). – le LOH n’est pas compacté • On gagne en temps dans le GC, mais la création d’un gros objet est par contre beaucoup plus lente • Le Framework .NET 4.5 apporte une amélioration de 30% de la vitesse d’allocation dans le LOH par rapport au Framework 4.0
  • 28. Compactage sur demande du LOH • 2 méthodes d’utilisation de l’API du GC pour le LOH 1. Compactage du LOH directement (right away) GCSettings.LOHCompactionMode = GCLOHCompationMode.CompactOnce; GC.Collect(); 2. Compactage du LOH lors du traitement de la génération 2 // Next full blocking GC happens at some point, it will be a compacting GC that compacts the whole heap including LOH. GCSettings.LOHCompactionMode = GCLOHCompationMode.CompactOnce; #mstechdays Code/developpement
  • 29. Compactage sur demande du LOH • Le Garbage Collector de .NET est une machine bien huilée • En principe, GC.Collect() ne devrait jamais être appelé • ATTENTION : Les grands pouvoirs impliquent de grandes responsabilités ! #mstechdays Code/developpement
  • 30. Compactage sur demande du LOH • Avec .NET 4.5.1, il est maintenant possible de le compacter afin de réduire la fragmentation du tas • La configuration du LOH fait partie de GCSettings public static class GCSettings { public static GCLOHCompactionMode LOHCompactionMode { get; set; } } #mstechdays Code/developpement
  • 31. COMPACTAGE SUR DEMANDE DUFragmentation = LOH Fragmentation: 0% - Signifie que toute la mémoire libre est dans un seul grand bloc Fragmentation: 90% - Lorsque il y a 100 Mo de mémoire libre est disponible, mais plus grand bloc de mémoire libre pour une nouvelle allocation est seulement 10 MB #mstechdays Code/developpement
  • 33. Mise à jour du Framework .NET • L’objectif est de garder les valeurs existantes du Framework .NET tout en permettant plus d’agilité et d’innovation • Valeurs existantes : – – – – Facilité d’accès Qualité connue, maturité et niveau de compatibilité Une seule politique de licence et de support Patching centralisé pour les problèmes de sécurité • Les nouvelles valeurs : – Cycle de release plus rapide avec un retour d’expérience client plus proche – Moins de friction lors d’utilisation des fonctionnalités de .NET sur #mstechdays Code/developpement plusieurs plateformes
  • 34. Release NuGet • Lors de la release de .NET 4.5, deux composants ont étés délivrés par NuGet : – MEF (Microsoft Composition) pour les apps web et Windows Store – TPL Dataflow (Microsoft.Tpl.Dataflow) – Ces éléments sont traités comme n’importe quel autre composant de .NET 4.5 (support complet) System Composition TPL Dataflow Http Client .NET (“in box”) #mstechdays Code/developpement PCL Immutable Collections
  • 35. Flux NuGet pour le Framework .NET • Accès unique pour tous les packages NuGet du framework .NET livrés par Microsoft – – #mstechdays Dans Visual Studio 2010, 2012 et 2013 Sur le web Code/developpement
  • 36. Flux NuGet pour le Framework .NET • Déjà activé dans Visual Studio 2013 • • • • Sous Visual Studio 2010 et 2012 Tools.Options.Package Manager Nom: .NET Framework Packages Source: https://nuget.org/api/v2/curated-feeds/dotnetframework #mstechdays Code/developpement
  • 37. LE PACKAGE IMMUTABLE COLLECTIONS EN ACTION #mstechdays Code/developpement
  • 38. Architecture Interne (ImmutableList) Créer une liste immutable Ajouter null null null 1 var list1 = ImmutableList.Create(1); // list 1 = { 1 } #mstechdays Insérer null 2 null 1 null null 3 null 2 1 var list2 = list1.Add(2); // list 1 = { 1 } // list2 = { 1, 2 } Code/developpement var list3 = list2.Insert(0, 3); // list1 = { 1 } // list2 = { 1, 2 } // list 3= { 3, 1, 2 }
  • 39. Performances • Ajouter des items – – Les collections immutables consomment un peu plus de mémoire par élément de stockage que leurs homologues mutables La consommation réelle de mémoire entre un type mutable et type immutable peut varier en fonction de la façon dont les instances sont utilisées • Retirer des items – – #mstechdays Les collections mutables ne rétrécissent pas leurs tableaux de sorte que vous n'avez pas à récupérer cette mémoire Les collections immuables rétrécissent immédiatement leurs arbres binaires pour chaque élément supprimé • Cette mémoire libre est candidate pour la collecte du GC Code/developpement
  • 40. Conseils d’utilisation • Scénario de multithreading – Mais pas forcement massivement concurrent • Les collections de System.Collections.Concurrent sont là pour ça ! • Pratique – Vous voulez extraire des instantanés des vos collections • Vous souhaitez les lire dans un contexte thread-safe, alors que la collection originale peut continuer à être modifiée • Rappel – Les collections immutables sont généralement rapides à lire, mais relativement coûteuses à mettre à jour #mstechdays Code/developpement
  • 41. Synthèse du Framework .NET 4.5.1 Performance des applications Productivité du développeur • 64-bit Edit and Continue • • Method Return Value Inspection • • • #mstechdays Async Debugging Enhancements Windows Store development improvements EF/ADO.NET Connection Resiliency • Innovation continue ASP.NET application suspension Multi-core JIT improvements • On-demand large-object heap compaction • Consistent performance before and after servicing the .NET Framework Code/developpement NET Framework updates • NuGet releases • Curated .NET Framework NuGet packages
  • 42. De nombreux moyens de communication E-mail dotnet Blog #mstechdays MSDN Forums Code/developpement @dotnet UserVoice
  • 43. Donnez votre avis ! Depuis votre smartphone sur : http://notes.mstechdays.fr De nombreux lots à gagner toute les heures !!! Claviers, souris et jeux Microsoft… Merci de nous aider à améliorer les Techdays ! #mstechdays Code/developpement
  • 44. Présentation de Cellenza Ve n e z n o u s r e t r o u ve r s u r n o t r e St a n d # 1 5 Vous pouvez vous inscrire à notre jeu concours sur notre stand ou en ligne : http://jeuconcours.cellenza.com Merci !

Notas do Editor

  1. BBO
  2. BBO
  3. BBO
  4. BBO
  5. MPE
  6. MPE
  7. MPE
  8. MPE
  9. MPE
  10. MPE
  11. MPE
  12. MPE
  13. MPE
  14. MPE
  15. MPE
  16. MPE
  17. MPE
  18. BBO
  19. BBO
  20. BBO
  21. BBOhttp://blogs.msdn.com/b/benjaminperkins/archive/2013/06/25/what-s-new-in-iis-8-5.aspx
  22. BBO
  23. BBO
  24. BBO
  25. BBO
  26. BBO
  27. BBO
  28. BBO
  29. BBO
  30. BBO
  31. MPE
  32. MPE
  33. MPE
  34. MPEVS2013:Web: http://blogs.msdn.com/b/dotnet/p/nugetpackages.aspx
  35. BBO
  36. BBO
  37. BBO
  38. BBO