<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Jérôme Lambert &#187; TechDays2010</title>
	<atom:link href="https://blog.developpez.com/jerome/pcategory/net/evenements/techdays2010/feed" rel="self" type="application/rss+xml" />
	<link>https://blog.developpez.com/jerome</link>
	<description>My Microsoft Development World</description>
	<lastBuildDate>Mon, 17 Dec 2012 11:34:42 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.1.42</generator>
	<item>
		<title>Jour 1 &#8211; 11h00 à 12h00 – Comment tirer parti de Windows 7 dans vos applications .NET ?</title>
		<link>https://blog.developpez.com/jerome/p8609/net/11h00_a_12h00_andash_comment_tirer_parti</link>
		<comments>https://blog.developpez.com/jerome/p8609/net/11h00_a_12h00_andash_comment_tirer_parti#comments</comments>
		<pubDate>Tue, 09 Feb 2010 00:58:23 +0000</pubDate>
		<dc:creator><![CDATA[Jérôme Lambert]]></dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Evènements]]></category>
		<category><![CDATA[TechDays2010]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Cette session était consacrée à la présentation de la librairie « Windows® API Code Pack for Microsoft® .NET Framework » développée par Microsoft et disponible avec les sources sur MSDN Code Gallery (http://code.msdn.microsoft.com/WindowsAPICodePack). Cette librairie offre un ensemble de wrapper dont le but est de bénéficier des nouvelles fonctionnalités de Windows directement en code managé comme C# et VB.NET. Ces nouvelles fonctionnalités sont les suivantes : La nouvelle barre des tâches La gestion des capteurs [&#8230;]]]></description>
				<content:encoded><![CDATA[<p><a href="http://blog.developpez.com/media/130/WindowsLiveWriter/11h0012h00CommenttirerpartideWindows.NET_19B8/P1010741.jpg"><img style="border-bottom: 0px; border-left: 0px; margin: 0px 0px 0px 10px; display: inline; border-top: 0px; border-right: 0px" title="P1010741" border="0" alt="P1010741" align="right" src="http://blog.developpez.com/media/130/WindowsLiveWriter/11h0012h00CommenttirerpartideWindows.NET_19B8/P1010741_thumb.jpg" width="244" height="184" /></a> </p>
<p>Cette session était consacrée à la présentation de la librairie « Windows® API Code Pack for Microsoft® .NET Framework » développée par Microsoft et disponible avec les sources sur MSDN Code Gallery (<a href="http://code.msdn.microsoft.com/WindowsAPICodePack">http://code.msdn.microsoft.com/WindowsAPICodePack</a>). Cette librairie offre un ensemble de wrapper dont le but est de bénéficier des nouvelles fonctionnalités de Windows directement en code managé comme C# et VB.NET. Ces nouvelles fonctionnalités sont les suivantes :</p>
<ul>
<li>La nouvelle barre des tâches</li>
<li>La gestion des capteurs</li>
<li>Le multi touch</li>
<li>DirectX (il n&rsquo;y avait presque rien à dire sur le sujet)</li>
</ul>
<p>
<span id="more-63"></span></p>
<p>Contrairement aux dernières versions de Windows 7, aucune librairie managée n&rsquo;était proposée par Microsoft pour développer au travers des API natives avec les nouvelles possibilités du système d&rsquo;exploitation. Trois choix s&rsquo;offraient donc à vous :</p>
<ol>
<li>Développer vos propres wrapper</li>
<li>Réutiliser les exemples des SDK</li>
<li>Attendre les Service Pack du .NET Framework</li>
</ol>
<p>Microsoft prend donc les devant en nous proposant directement les sources de ses wrapper. Comme dit précédemment, ils sont disponibles sur MSDN Code Gallery en version finale mais seront intégrés au plus vite dans le .NET Framework 4 via un Service Pack.</p>
<p>Lors de la partie consacrée à la gestion de la nouvelle barre des tâches de Windows 7, nous avons vu comment réaliser différentes possibilités :</p>
<ul>
<li>Récupérer les informations de la barre des tâches de Windows au travers du singleton TaskBarManager.</li>
<li>Créer des références d&rsquo;éléments dans le menu contextuel grâce à la classe JumpList.</li>
<li>Créer des groupements d&rsquo;éléments dans le menu contextuel via la classe JumpListCustomCategory.</li>
<li>Réagir en conséquence lors de la sélection d&rsquo;un élément dans le menu contextuel.</li>
<li>Manipuler la barre de progression pour les opérations longues.</li>
<li>Visualisation d&rsquo;une miniature de l&rsquo;application (malheureusement, il n&rsquo;a pas été possible d&rsquo;aborder cette fonctionnalité vu le manque de temps).</li>
</ul>
<p><a href="http://blog.developpez.com/media/130/WindowsLiveWriter/11h0012h00CommenttirerpartideWindows.NET_19B8/image_2.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blog.developpez.com/media/130/WindowsLiveWriter/11h0012h00CommenttirerpartideWindows.NET_19B8/image_thumb.png" width="193" height="244" /></a> <a href="http://blog.developpez.com/media/130/WindowsLiveWriter/11h0012h00CommenttirerpartideWindows.NET_19B8/image_4.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blog.developpez.com/media/130/WindowsLiveWriter/11h0012h00CommenttirerpartideWindows.NET_19B8/image_thumb_1.png" width="244" height="136" /></a> </p>
<p>La seconde partie est consacrée aux capteurs avec l&rsquo;utilisation d&rsquo;une carte à circuit imprimés comportant plusieurs capteurs dont :</p>
<ul>
<li>Un capteur de lumière</li>
<li>Un capteur accéléromètre</li>
<li>Un capteur gps</li>
</ul>
<p>Microsoft propose une moyen de communication unifié pour l&rsquo;interaction des capteurs de votre machine avec votre code. Le but étant de ne plus devoir passer par des API propriétaires.</p>
<p>Vous pouvez d&rsquo;ailleurs gérer vos capteurs au travers du panneau de configuration de Windows : « Emplacement et autres capteurs ».</p>
<p><a href="http://blog.developpez.com/media/130/WindowsLiveWriter/11h0012h00CommenttirerpartideWindows.NET_19B8/image_6.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blog.developpez.com/media/130/WindowsLiveWriter/11h0012h00CommenttirerpartideWindows.NET_19B8/image_thumb_2.png" width="244" height="184" /></a> </p>
<p>La démonstration consistait à répercuter les données des capteurs accéléromètres et de lumière dans un environnement 3D :</p>
<ul>
<li>Lorsqu&rsquo;on déplaçait la carte à puce, on pouvait se déplacer dans l&rsquo;environnement 3D</li>
<li>Lorsqu&rsquo;on jouait avec la lumière captée par le capteur de lumière, on pouvait voir l&rsquo;environnement 3D s&rsquo;assombrir ou devenir plus lumineux.</li>
</ul>
<p>La dernière partie était consacrée au multi touch avec Windows 7. Une autre API est proposée par Microsoft via CodePlex. Malheureusement, je n&rsquo;arrive pas à remettre la main sur le lien du projet.</p>
<p>Il est à noter que cette API est différente est différente de celle proposée pour Microsoft Surface mais elles seront unifiés dans le futur pour ne pas être obligé de réécrire du code adaptez à une tablet PC pour une table surface.</p>
<p>La démonstration expliquait comment intercepter les éléments qui interagissent avec l&rsquo;écran tactile au moyen d&rsquo;événements.</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jour 1 &#8211; 09h30 à 10h30 – Conférence plénière : infrastructure et développement des systèmes d&#8217;informations agile</title>
		<link>https://blog.developpez.com/jerome/p8608/net/jour_1_09h30_a_10h30_andash_conference_p</link>
		<comments>https://blog.developpez.com/jerome/p8608/net/jour_1_09h30_a_10h30_andash_conference_p#comments</comments>
		<pubDate>Tue, 09 Feb 2010 00:53:26 +0000</pubDate>
		<dc:creator><![CDATA[Jérôme Lambert]]></dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Evènements]]></category>
		<category><![CDATA[TechDays2010]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Cette plénière couvrait les dernières actualités en terme d&#8217;infrastructure et de développement avec mise en situation via des démos sur les dernières versions des produits Microsoft, à savoir : Windows Server 2008 R2 pour les IT, avec de nouvelles avancées en terme de virtualisation avec le basculement à chaud de vos machines virtuelles mais aussi un nouvel outil nommé RemoteApp qui permet l&#8217;exécution d&#8217;anciennes applications compatibles uniquement avec des anciennes versions de Windows. Visual Studio [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Cette plénière couvrait les dernières actualités en terme d&rsquo;infrastructure et de développement avec mise en situation via des démos sur les dernières versions des produits Microsoft, à savoir :</p>
<p><a href="http://blog.developpez.com/media/130/WindowsLiveWriter/Jour109h3010h30Confrenceplnireinfrastruc_18C5/P1010740.jpg"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="P1010740" border="0" alt="P1010740" src="http://blog.developpez.com/media/130/WindowsLiveWriter/Jour109h3010h30Confrenceplnireinfrastruc_18C5/P1010740_thumb.jpg" width="244" height="184" /></a> </p>
<p>
<span id="more-164"></span></p>
<ul>
<li>Windows Server 2008 R2 pour les IT, avec de nouvelles avancées en terme de virtualisation avec le basculement à chaud de vos machines virtuelles mais aussi un nouvel outil nommé RemoteApp qui permet l&rsquo;exécution d&rsquo;anciennes applications compatibles uniquement avec des anciennes versions de Windows. </li>
</ul>
<p><a href="http://blog.developpez.com/media/130/WindowsLiveWriter/Jour109h3010h30Confrenceplnireinfrastruc_18C5/P1010735.jpg"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="P1010735" border="0" alt="P1010735" src="http://blog.developpez.com/media/130/WindowsLiveWriter/Jour109h3010h30Confrenceplnireinfrastruc_18C5/P1010735_thumb.jpg" width="244" height="184" /></a> </p>
<ul>
<li>Visual Studio 2010 pour les développeurs, présentation des dernières nouveautés de l&rsquo;éditeur, les avancées pour les tests encore une fois plus facile et rapide à mettre en ouvre. </li>
<li>SQL Server 2008 R2, s&rsquo;alignant à présent avec la dernière version de Windows Server pour le nombre maximum de cours processeurs supportés. </li>
<li>La plateforme Windows Azure, avec présentation de l&rsquo;interopérabilité de vos applications Java et PHP dans le cloud de Microsoft. </li>
</ul>
<p><a href="http://blog.developpez.com/media/130/WindowsLiveWriter/Jour109h3010h30Confrenceplnireinfrastruc_18C5/P1010738.jpg"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="P1010738" border="0" alt="P1010738" src="http://blog.developpez.com/media/130/WindowsLiveWriter/Jour109h3010h30Confrenceplnireinfrastruc_18C5/P1010738_thumb.jpg" width="244" height="184" /></a> <a href="http://blog.developpez.com/media/130/WindowsLiveWriter/Jour109h3010h30Confrenceplnireinfrastruc_18C5/P1010737.jpg"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="P1010737" border="0" alt="P1010737" src="http://blog.developpez.com/media/130/WindowsLiveWriter/Jour109h3010h30Confrenceplnireinfrastruc_18C5/P1010737_thumb.jpg" width="244" height="184" /></a> </p>
<p>Cette plénière était aussi l&rsquo;occasion d&rsquo;annoncer les prochaines versions des processeurs Intel autant sur les postes clients que serveurs. Ci-dessous, les deux photos que j&rsquo;ai pu prendre sur ces nouveaux processeurs.</p>
<p><a href="http://blog.developpez.com/media/130/WindowsLiveWriter/Jour109h3010h30Confrenceplnireinfrastruc_18C5/P1010733.jpg"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="P1010733" border="0" alt="P1010733" src="http://blog.developpez.com/media/130/WindowsLiveWriter/Jour109h3010h30Confrenceplnireinfrastruc_18C5/P1010733_thumb.jpg" width="244" height="184" /></a> <a href="http://blog.developpez.com/media/130/WindowsLiveWriter/Jour109h3010h30Confrenceplnireinfrastruc_18C5/P1010732.jpg"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="P1010732" border="0" alt="P1010732" src="http://blog.developpez.com/media/130/WindowsLiveWriter/Jour109h3010h30Confrenceplnireinfrastruc_18C5/P1010732_thumb.jpg" width="244" height="184" /></a> </p>
<p>Pour finir, nous avons eu droit à une démonstration d&rsquo;une application Silverlight couplée avec DeepZone permettant de se balader dans des photographies de très grandes qualités avec des renseignements attachés sur des éléments au sein de ces photographies.</p>
<p>Pour ceux qui ne le savaient pas, la plénière d&rsquo;aujourd&rsquo;hui était retransmise pour la première fois en direct sur internet. Et il en sera de même pour les plénières du mardi et du mercredi. Rendez-vous donc à l&rsquo;adresse suivante dès 9h00 : <a href="http://windows.developpez.com/live-techdays-2010/">http://windows.developpez.com/live-techdays-2010/</a></p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Retour de mes journées aux TechDays 2010 de Paris</title>
		<link>https://blog.developpez.com/jerome/p8611/net/retour_de_mes_journees_aux_techdays_2010</link>
		<comments>https://blog.developpez.com/jerome/p8611/net/retour_de_mes_journees_aux_techdays_2010#comments</comments>
		<pubDate>Tue, 09 Feb 2010 00:19:00 +0000</pubDate>
		<dc:creator><![CDATA[Jérôme Lambert]]></dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Evènements]]></category>
		<category><![CDATA[TechDays2010]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Après un transport agité la veille, me voici au milieu de quelques milliers de professionnels de l&#8217;informatique en train d&#8217;écouter quelques grands tubes de la musique interprétés par un band sur Guitar Hero. Vous retrouverez ci-dessous mes différents écrits relatifs aux sessions auxquelles j&#8217;ai eu l&#8217;occasion d&#8217;assisté et qui méritaient selon moi un petit focus : Jour 1 &#8211; 09h30 à 10h30 &#8211; Conférence plénière : infrastructure et développement des systèmes d&#8217;informations agile Jour 1 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Après un transport agité la veille, me voici au milieu de quelques milliers de professionnels de l&rsquo;informatique en train d&rsquo;écouter quelques grands tubes de la musique interprétés par un band sur Guitar Hero. </p>
<p><a href="http://blog.developpez.com/media/130/WindowsLiveWriter/RetourdemesjournesauxTechDays2010deParis_20B6/P1010720.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="P1010720" border="0" alt="P1010720" src="http://blog.developpez.com/media/130/WindowsLiveWriter/RetourdemesjournesauxTechDays2010deParis_20B6/P1010720_thumb.jpg" width="244" height="184" /></a> <a href="http://blog.developpez.com/media/130/WindowsLiveWriter/RetourdemesjournesauxTechDays2010deParis_20B6/P1010719.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="P1010719" border="0" alt="P1010719" src="http://blog.developpez.com/media/130/WindowsLiveWriter/RetourdemesjournesauxTechDays2010deParis_20B6/P1010719_thumb.jpg" width="244" height="184" /></a> </p>
<p>Vous retrouverez ci-dessous mes différents écrits relatifs aux sessions auxquelles j&rsquo;ai eu l&rsquo;occasion d&rsquo;assisté et qui méritaient selon moi un petit focus :</p>
<ul>
<li>Jour 1 &#8211; 09h30 à 10h30 &#8211; <a href="http://blog.developpez.com/jerome/p8608/net/jour-1-09h30-a-10h30-andash-conference-p/#more8608">Conférence plénière : infrastructure et développement des systèmes d&rsquo;informations agile</a></li>
<li>Jour 1 &#8211; 11h00 à 12h00 &#8211; <a href="http://blog.developpez.com/jerome/p8609/net/11h00-a-12h00-andash-comment-tirer-parti/#more8609">Comment tirer parti de Windows 7 dans vos applications .NET ?</a></li>
<li><em></em>Jour 1 &#8211; 13h00 à 14h00 &#8211; <a href="http://blog.developpez.com/jerome/p8610/net/jour-1-13h00-a-14h00-andash-visual-studi/#more8610">Visual Studio 2010 et TPL</a></li>
</ul>
<p><font color="#008000">J&rsquo;allais oublier, saviez-vous que notre communauté est présente encore cette année aux TechDays ? Pour nous trouver, rien de plus simple car nous sommes juste à côté du stand MSDN (là où vous pouvez avoir du pop corn :p). Je vous conseille de bien surveiller nos </font><a href="http://www.developpez.net/forums/d843770/club-professionnels-informatique/actualites/microsoft-techdays-2010-8-9-10-fevrier-2010-palais-congres-paris/"><strong>forum</strong></a><font color="#008000">, </font><a href="http://twitter.com/Developpez"><strong>twitter</strong></a><font color="#008000">, </font><a href="http://www.facebook.com/pages/Developpez/208546246618"><strong>page facebook</strong></a><font color="#008000">, <strong><a href="http://dotnet.developpez.com/">index</a> </strong>et </font><a href="http://blog.developpez.com/"><strong>blogs</strong></a><font color="#008000"> car il n&rsquo;est pas impossible qu&rsquo;il y ait quelques t-shirts WIFI à remporter. Wait &amp; see !</font></p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jour 1 &#8211; 13h00 à 14h00 &#8211; Visual Studio 2010 et TPL</title>
		<link>https://blog.developpez.com/jerome/p8610/net/jour_1_13h00_a_14h00_andash_visual_studi</link>
		<comments>https://blog.developpez.com/jerome/p8610/net/jour_1_13h00_a_14h00_andash_visual_studi#comments</comments>
		<pubDate>Tue, 09 Feb 2010 01:07:09 +0000</pubDate>
		<dc:creator><![CDATA[Jérôme Lambert]]></dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Evènements]]></category>
		<category><![CDATA[TechDays2010]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Alors là, grosse déception ! La session était animée par Vincent Lainé, plus connu sous le pseudonyme de dev01 sur nos forums et membre de la rubrique .NET.. Mais rassure-toi Vincent, je n&#8217;ai pas été déçu par ta présentation (:p). La déception vient du fait que je voulais assister à la session sur l&#8217;extensibilité avec Visual Studio 2010 grâce à Microsoft Extensibility Framework (MEF) dont le titre dans le mail envoyé par Microsoft était « [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Alors là, grosse déception ! La session était animée par Vincent Lainé, plus connu sous le pseudonyme de dev01 sur nos forums et membre de la rubrique .NET.. Mais rassure-toi Vincent, je n&rsquo;ai pas été déçu par ta présentation (:p). La déception vient du fait que je voulais assister à la session sur l&rsquo;extensibilité avec Visual Studio 2010 grâce à Microsoft Extensibility Framework (MEF) dont le titre dans le mail envoyé par Microsoft était « Visual Studio : comment l&rsquo;adapter à vos besoins » (déjà avec un titre pareil, je ne me rappelais pas que c&rsquo;était en rapport avec MEF) et dans le listing des sessions avec salles correspondantes, il était marqué « Extensibilité de Visual Studio ».</p>
<p>Ne sachant donc plus ce à quoi je voulais assister, j&rsquo;ai pris la première session qui parlait de Visual Studio 2010 et qui était donc Visual Studio 2010 et TPL.</p>
<p><span id="more-64"></span></p>
<p>Cette session est consacrée au développement parallèle au travers de votre code managé dont trois fonctionnalités importantes furent abordées :</p>
<ol>
<li>PLinq </li>
<li>Utilisation des tâches </li>
<li>Les collections concurrentes (qui n&rsquo;a pas été abordé pas manque de temps) </li>
</ol>
<p>PLinq est en fait un provider Linq parallélisé afin d&rsquo;exécuter des requêtes sur vos différents processeurs. Même si nous avons vu qu&rsquo;il est très facile de réécrire une requête Linq simple en requête PLinq, Vincent a attiré notre attention sur quelques points et pièges à éviter.</p>
<p>Par rapport à une requête Linq, la version PLinq ne sera jamais autant de fois plus rapide qu&rsquo;il y a de processeurs sur votre machine. Pour faire simple, une requête Linq, qui prend 2 secondes avec une machine munie de deux processeurs, ne s&rsquo;exécutera pas deux fois plus vite en PLinq. La raison est que PLinq est beaucoup plus lourd car il entraine un certain nombre de synchronisation en différents threads qui sont générés. On pourra donc considérer qu&rsquo;une requête PLinq sera 1,67 fois plus rapide plutôt que 2 fois.</p>
<p>Un piège à éviter est l&rsquo;utilisation de ce genre de requêtes en Linq to SQL ou Linq to Entities :</p>
<div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper">
<div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet">
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum1">   1:</span> var query = from facture <span style="color: #0000ff">in</span> ctx.Factures.AsParallel()</pre>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum2">   2:</span>             select <span style="color: #0000ff">new</span> { factureID = facture.ID, ClientNom = facture.Client.Nom };</pre>
</p></div>
</div>
<p>Une exception sera générée à l&rsquo;exécution car cette requête est résolue en deux temps :</p>
<ul>
<li>Récupération des données de la table Facture de manière parallèle</li>
<li>Génération des objets anonymes en retour des données chargées de la base de données</li>
</ul>
<p>Sauf que seules les données de la table Facture ont été récupérées. Les données relatives au client ne le seront pas contrairement à ce que font les ORM Linq. Il va donc être nécessaire de modifier notre requête pour inclure les données de la table Client. Je n&rsquo;ai pas d&rsquo;exemple à vous montrer tellement la requête est devenue compliquée pour arriver au résultat espéré.</p>
<p>La seconde partie de la session est l&rsquo;utilisation des tâches permettant de créer des threads plus facilement et de manière hiérarchique. Différentes classes sont mises à disposition :</p>
<ul>
<li>Task : tout simplement notre tâche </li>
<li>TaskScheduler : le scheduler de tâches qui est une classe abstraite </li>
<li>TaskFactory : permettant de créer plus facilement un ensemble de tâches ayant le même scheduler, les mêmes options et aussi les mêmes systèmes d&rsquo;annulation </li>
<li>CancellationTokenSource et CancellationToken : pour la gestion des annulations de tâches </li>
</ul>
<p>Après une démo de mise à niveau d&rsquo;une application écrite avec l&rsquo;utilisation de threads classiques pour utiliser au final des tâches, une partie du sujet a été consacré au debugging avec la présentation de nouvelles fenêtres dans Visual Studio et qui permettent de visualiser les tâches parallèles, les piles d&rsquo;appels, qui bloque qui, les états.</p>
<p>Il est aussi possible de collecter automatiquement un ensemble d&rsquo;informations lors de l&rsquo;exécution de votre application au travers de Visual Studio afin de générer un rapport et analyser de manière graphique sur une échelle de temps tout ce qui s&rsquo;est déroulés au niveau des threads.</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>
