Cette session portait sur les différentes liaisons entre le code managé SilverLight et un navigateur hostant une page HTML le contenant.

La première partie de cette session rentrait plus en détail sur l'utilisation des HTMLElement, HTMLPage, ScriptableObject au sein du code managé. Nous avons ainsi vu comment hooker un événement ClientSide vers une méthode managée ainsi que la récupération des informations du navigateur (appAgent, language, cookie ...). Le plus impressionant dans cette démo est que le contrôle SilverLight n'avait pas de rendu, il servait juste à hooker le ClientSide et ainsi n'écrire aucune ligne de JavaScript tout en controlant l'interface et ses événements en C#. Le concept est vraiment intéressant, mais me connaissant, ce n'est pas dans cette voie que j'utiliserais SilverLight !!

La seconde partie portait sur le IsolationStorage ou comment pouvoir stocker un fichier texte de 1Mo sur le poste client par fichier XAML. Le plus impressionant dans tout ca est que ce fameux fichier est indépendant du navigateur. La démo consistait donc à lire et écrire dans cet IsolationStorage avec pour clou du spectacle, l'écriture d'un état via IE puis ouverture de FireFox pour la relecture. J'avoues que cela semble vraiment intéressant notamment par le fait que nous sommes pas limité aux 4Ko d'un cookie et aussi pour le fait que nous ne sommes pas dépendent du navigateur.

Pour finir cette session, une démo d'un contrôle FileUpload Multiple des plus bluffants via FileOpenDialog en multi-selection. Vous en avez rêvez depuis longtemps, SilverLight le fait !! Alors certes, la méthodologie de transfert n'est pas des plus simple car le seul accès vers ces fichiers est de la Lecture seule. Il vou faut donc parcourir l'ensemble des fichiers, lire leur contenu dans un tableau de bits (byte[]), encoder ce tableau en base64 puis l'envoyer vers un WebService qui se chargera de l'écriture sur le serveur. Pfffiouuu, ca fait beaucoup de choses à mettre en place, mais le résultat final en vaut la chandelle.

Petite surprise en fin de session, l'ensemble des démos est déjà online à l'url suivante, et je ne peux que vous conseillez de les télécharger ne serait-ce que pour le FileUpload : http://mixer1068.mixsandbox.com

Stay Tuned...

Aurelien
Member of WygTeam