SharePoint 2007 : Intégration avec Silverlight (Partie 2)

Pour continuer sur l'intégration avec Silverlight et SharePoint (cf premier post), je vais maintenant vous parler du chargement de fichier XAML faisant appel à des DLL.

Comme je vous le montrais précédemment, j'upload plusieurs fichiers XAML via une feature : HelloWorld.xaml, Clock.xaml et Surface.xaml

<?xml version="1.0" encoding="utf-8" ?>

<Elements xmlns="http://schemas.microsoft.com/sharepoint/">

  <Module Url="XAML"

          Path="XAML"

          RootWebOnly="TRUE">

    <File Url="Clock.xaml"

          Name="Clock.xaml"

          Type="GhostableInLibrary">

    </File>

    <File Url="HelloWorld.xaml"

      Name="HelloWorld.xaml"

      Type="GhostableInLibrary">

    </File>

    <File Url="Surface.xaml"

          Name="Surface.xaml"

          Type="GhostableInLibrary">

    </File>

  </Module>

</Elements>

Autant le fichier HelloWorld.xaml ne pose pas de problèmes particulier (cf premier post) autant le fichier Clock.xaml fait appel à une DLL et il va bien falloir que je trouve un moyen de la loader.

<Canvas x:Name="ParentCanvas"

        Opacity="0"

        xmlns="http://schemas.microsoft.com/client/2007"

        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

        Loaded="Page_Loaded"

        x:Class="Clock.Page;assembly=ClientBin/Clock.dll"

        >

...

</Canvas>

les fichiers XAML de Clock et Surface sont disponibles aux URLs suivantes : Clock ou Surface.

La première chose à faire est donc de mettre cette DLL à disposition de SharePoint. Pour celà, vous avez plusieurs possibilités :

  • Changez "assembly=ClientBin/Clock.dll" en "assembly=/ClientBin/Clock.dll" et copier/coller la DLL dans le repertoire IIS correspondant à votre application web. Le problème étant qu'il n'y pas de moyen simple de déployer la DLL de cette façon dans l'univer SharePoint (ie : via un fichier solution).
    arborescence_iis
  • Changez "assembly=ClientBin/Clock.dll" en "assembly=/_layouts/ClientBin/Clock.dll" et déployer votre DLL via votre package wsp dans le répertoire Layouts se trouvant dans C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\. Ainsi si vous utilisez WSPBuilder, vous avez cette arborescence
     arborescence_projet_wspbuilder

A noter que dans les deux cas, il faudra modifier les permissions sur le répertoire ClientBin par "Execute Permissions : Script Only" (Sinon vous aurez un problème de chargement des DLL et Silverlight génèrera une erreur) :

ClienBin_Properties

Une fois ces modifications faites, votre horloge devrait s'afficher dans votre webpart sans problème.

clock_silverlight

Dans le prochain billet, nous verrons ensemble comment faire pour communiquer avec SharePoint pour récupérer des informations "live" via WebServices ou autres méthodes connues.

<Philippe/>

Publié mercredi 2 janvier 2008 16:03 par phil
Classé sous ,
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :

Commentaires

# re: SharePoint 2007 : Intégration avec Silverlight (Partie 2) @ samedi 12 janvier 2008 00:28

une idée sur l'appel des web service moss ?

merci d'avance

Walid

walid

# re: SharePoint 2007 : Intégration avec Silverlight (Partie 2) @ vendredi 1 février 2008 16:52

Ça fera partie de mon prochain post à ce sujet, pas d'inquiétude.

phil

About phil

Leader Technique SharePoint chez Winwise, je m'occupe de missions d'expertise autour de WSS 3.0 et MOSS 2007, tout en me tenant au courant de ce qui se fait autour de Asp.net, Silverlight et des technologies Web by Microsoft en général.

Les 10 derniers blogs postés

- [WPF] Comment charger dynamiquement un fichier XAML qui définit des eventhandler ? par Thomas Lebrun le il y a 20 heures et 40 minutes

- Article sur le filtrage des modèles de site SharePoint par The Grib's Lair [Sébastien PICAMELOT - MVP SharePoint] le 09-04-2008, 00:11

- Adopter votre Redo en 3D - Clone Virtuel - avec photosynth par RedoBlog - The .NET Gentleman !!! le 09-04-2008, 00:07

- [Expression Web] Astuce de la Semaine : Mettre en bouton ses macros dans une barre d'outils. par Expression Web & Me le 09-03-2008, 20:48

- [.Net] Présentation du Client Profile par Elise's blog le 09-03-2008, 12:28

- SharePoint : Test de Chrome avec SharePoint 2007 (MOSS et WSS) par Blog Technique de Romelard Fabrice le 09-03-2008, 11:38

- Google Chrome : Faille de Sécurité ?!? par The diary of EBArtSoft le 09-03-2008, 11:35

- ASP.net - tout savoir sur la validation des entrées utilisateurs | les controles de validation par Atteint de JavaScriptite Aiguë [Cyril Durand] le 09-02-2008, 23:43

- Google Chrome J'adopte ! par The diary of EBArtSoft le 09-02-2008, 21:36

- SharePoint : Eviter les Access Denied pour l’indexation de ferme SharePoint distante par Blog Technique de Romelard Fabrice le 09-02-2008, 20:50