Archives mensuelles : février 2011

image

TextChanged… ou pas (encore)…

C’est dès la première semaine où je suis arrivé chez mon nouvel employeur que j’ai
pu m’exclamer en indiquant que “Rah purée, c’est pas vrai, c’est un bug de WPF…”

Je n’ai pas vu de sourire moqueur de mes collègues mais je suis à peu près sûr que
certains d’entre eux ont dû se dire qu’il était osé de rejeter la faute du bug que
j’avais introduit sur la technologie elle-même et non pas sur une erreur d’inattention.
Et quelques recherches plus tard, je me suis rendu compte… que j’avais bien raison
!

Le scénario est pourtant très simple, il s’agit tout simplement de modifier le texte
d’une TextBox. La particularité de cette modification est que je l’ai réalisé dans
l’évènement TextChanged comme ceci :

image

Je m’attendais à voir le message “Je suis vide” après un click sur mon bouton et bien…
non, ma textbox auparavant remplie devient vide. Et pourtant je rentre bien dans ma
condition et si je mets un espion sur la valeur de la propriété Text elle est bien
définie avec ma chaine. Seul l’affichage n’est pas impacté. Bizarre non ?

Et bien je me suis conforté dans l’idée qu’il s’agissait d’un bug, lorsque je n’ai
pas réussi à reproduire le soucis dans une application .net 4.0. En effet si l’on
fait le test dans VS 2010 et que l’on change de version de framework on se retrouve
avec l’effet désiré ou non !

[Update] Je vous propose ci-dessous le projet de test afin que vous puissiez changer
la version du framework et voir le changement de comportement :

<br />

news

News de la semaine #8

imageSi
vous souhaitez tester
gratuitement Windows Azure, Microsoft propose une nouvelle offre de 750 heures
.

Microsoft passe le
nombre d’applications WP7 gratuites publiables de 5 à 100
.

L’équipe de Visual Studio propose
une nouvelle version des Productivity Tools pour Visual Studio
.

L’équipe ADO.net nous annonce la
disponibilité en version beta du provider réalisé par Oracle pour Entity Framework.

Tomer Shamam nous présente la prochaine souris de Microsoft : Microsoft
Touch Mouse qui permet de faire du multitouch sans écran multitouch.

Du côté de l’actualité Open Source, Miguel de Icasa nous annonce la
disponibilité de Mono 2.10.1.

Du côté de l’actualité française, Guillaume Lacasa nous fait la démonstration d’un
des mécanismes de sécurité de base d’ASP.net : l’EventValidation
.

David Catuhe nous présente son
moteur de particules pour WP7
.

image

Integrated Security = True ou SSPI ?

Est un exemple de question à laquelle je connais la (bonne) réponse, sans trop savoir
pourquoi. J’ai donc profité que l’on me pose de nouveau la question pour effectuer
quelques recherches.

Afin de mettre en place l’authentification Windows pour une connexion vers SQL Server
il existe donc deux possibilités : utiliser Integrated Security = true ou Integrated
Security = SSPI.

A la question, lequel est le mieux, j’ai répondu SSPI sans trop savoir la vraie raison.
Ce à quoi un collègue m’a répondu en me demandant pourquoi le Server Explorer de Visual
Studio générer une chaine de connexion avec “True” si “SSPI
était meilleur.

Donc la réponse définitive est simple : Il vaut mieux utiliser SSPI
la place de True et ceci pour deux raisons :

Donc pourquoi Visual Studio génère le contraire ?

Parce ce que par défaut il utilise le provider SQL Client de .net : image

Il doit donc probablement faire appel à ce provider pour générer la chaine de connexion
qui va donc générer le true. Si l’on sélectionne celui d’OLE DB, on retrouve bien
le SSPI. Et ce provider ne doit probablement pas respecter la recommandation, et probablement
à tort !

news

News de la semaine #7

image

Scott Hanselman nous montre comment
créer un package NuGet.

Mari Jo Foley nous informe de la
mort de CardSpace, remplacé la brique U-Prove
.

L’équipe de la Task Parallel Library nous montre comment
créer son propre TaskScheduler
.

Mindscape propose 3
contrôles WPF gratuits
.

Miguel de Icasa annonce la
première preview de Moonlight 4
.

Pour faire suite à la disparition de la version gratuite de Reflector, JetBrains
annonce à son tour l’intégration d’un décompilateur au sein de R#6.

Toujours à propos de R#, Jetbrains
nous présente les nouveautés liées au support des CSS
.

news

News de la semaine #6

imageL’actualité
de la semaine est bien évidemment dominée par l’annonce
majeure du partenariat entre Microsoft et Nokia à propos de Windows Phone 7.

James Michael Hare présente les ConcurrentStack
et ConcurrentQueue introduits avec le framework .net 4.0
.

Patrick Smacchia nous explique comment
architecturer ou ré-architecturer des solutions afin d’optimiser les performances
de compilations.

Jeremiah Morill nous propose une
argumentation sur les potentiels problèmes de performances de WPF et Silverlight
.

Du côté de l’actualité produits, Brian Harry nous présente le SP1
de Team Explorer Everywhere
, l’équipe d’Internet
Explorer propose la RC d’IE 9
.

news

News de la semaine #5

imageDu
côté de l’actualité produits, Redgate
annonce que Reflector ne sera bientôt plus gratuit mais bien payant…

Miguel de Icaza réagit quelques jours plus tard en présentant l’investissement
de Novell dans ce domaine avec à la clé un futur remplaçant gratuit et open source
!

Le
SDK de Windows est disponible via une refresh de février
.

Toujours à propos de mise à jour de SDK, la
mise à jour des outils pour Windows Phone est disponible
.

Mike Hadlow propose un
outil permettant de résoudre les conflits de chargement d’assembly : AsmSpy
.

JetBrains propose une
mise à jour de ReSharper afin de corriger des problèmes liés à l’intelliSense
.

La
version 4 de l’outil CLR Profiler est à présent disponible
.

news

News de la semaine #4

imageLe
PowerTool Visual
Studio Code Metrics est disponible pour Visual Studio 2010
.

Du côté de l’actualité produits, Microsoft annonce que SQL
Server 2005 Service Pack 4 est disponible
.

Somasegar annonce 3
nouveaux projets hébergés sur DevLabs
.

Microsoft Research propose un
nouveau SDK qui permet d’utiliser les services de Windows Azure depuis un Windows
Phone 7
.

Rudi
Grobler décrit comment lire des codes barres depuis un Windows Phone 7
.

Toujours à propos de Windows Phone 7, un
nouvel émulateur GPS est à présent disponible afin de développer depuis l’émulateur.

Sebastien Pouliot décrit les
améliorations apportées par la librairie Cecil/light
en terme de performance.

Michel Perfetti propose son
outil Fissum en version 1.0 pour VS 2010
.

news

News de la semaine #3

imageScott
Galloway nous présente quelques
bonnes pratiques qui devraient être respectées par les développeurs .net
.

L’équipe de la BCL propose une CTP d’un
nouveau projet appelé “Portable Library Tools” qui permet de créer des librairies
VB ou C# portables sur tout type de plateforme sans recompilation
.

Toujours à propos d’annonces, l’équipe Silverlight propose des
Native Extensions pour Silverlight qui permettent d’exploiter simplement des fonctionnalités
de Windows 7 depuis des applications Silverlight en out of browser
.

Et pour finir les annonces, Scott
Guthrie présente le Microsoft Web Farm Framework 2.0 qui permet de créer rapidement
des fermes web
.

L’équipe de Coding4Fun propose un ensemble
de contrôles pour Windows Phone 7
.

Du côté de l’actualité française, Joannes
Vermorel propose un bon post à propos du cloud
.

Benoit Laut nous montre comment
héberger plusieurs sites web sur un seul et même web role
.

Jb Evain décrit les
avancées de l’implémentation des arbres d’expression dans Mono
.

VB et l’asynchronisme

Comme je vous l’avais indiqué il y a quelques jours, j’ai eu l’occasion d’effectuer
une présentation de la future version de VB qui proposera des nouveautés en terme
de gestion de l’asynchronisme.

Avant de pouvoir visionner la session sur le site des TechDays, je vous propose dès
maintenant les slides utilisées durant cette présentation :

image

Visual Basic aux TechDays 2011

imageComme je
vous l’avais indiqué il y a quelques semaines
, je présenterais une session sur
VB lors de l’édition 2011 des TechDays en mettant un focus particulier sur les fonctionnalités
liées à la gestion de l’asynchronisme.

Si vous souhaitez comprendre en détail les mécanismes d’asynchronisme implémentés
par Windows (au niveau OS et même hardware) et le framework .net, et découvrir comment
VB vNext va considérablement simplifier le tout n’hésitez pas à venir !

Sauf changement de dernière minute, la session devrait avoir lieu demain
(Mardi 08 février) à 14:30 en salle 202/203.