C'est encore moi! :o)

J'ai voulu travailler ce soir avec Silverlight 2 Beta 2 et Ado.Net Data Services et je me rend compte qu'il y a un petit soucis lorsque l'on veut consommer le service de données.


Context:

- J'ai un projet web qui host mon ADO.Net Data Service
- J'ai un 2eme projet Silverlight qui consomme le service


Extrait de mes méthodes :

        private void btnGetData_Click(object sender, RoutedEventArgs e)
        {
            MyWebDataService myContainer = new MyWebDataService(new Uri("http://localhost:3204/MyWebDataService.svc", UriKind.Absolute));
            var query = (from u in myContainer.Motifs where u.MOT_STATE == true select u);
            myContainer.Motifs.BeginExecute(new AsyncCallback(OnLoadComplete), query);

        }

        void OnLoadComplete(IAsyncResult result)
        {
            DataServiceQuery<Motifs> query = (DataServiceQuery<Motifs>)result.AsyncState;
            List<Motifs> lst = query.EndExecute(result).ToList();
        }

Au moment où je veux faire le "BeginExecute" j'ai systématiquement le message :

   System.InvalidOperationException occurred
   Message="Failed to Invoke: callOpen."


Si je prend la requête générée : "http://localhost:3204/MyWebDataService.svc/Motifs()?$filter=MOT_STATE%20eq%20true" et que je l'execute dans mon browser, je récupére un résultat.

Après quelques recherche sur le net, j'ai trouvé une explication.
L'installation du SP1 (VS 2008 SP1 et/ou Framework 3.5 SP1) provoque ce problème.
Le Client "System.Data.Services.Client" de Silverlight 2 Beta 2 n'est plus compatible avec les composants server du Framework 3.5 SP1

Il semblerait qu'il faille attendre la version release de Silverlight 2 (Prévu pour la fin d'été 2008) pour avoir une mise à jour du client.

Si quelqu'un a des news ou des astuces que je n'aurais pas trouvées, n'hesitez pas à en faire partager tout nos lecteurs. ;o)

@+ pour de nouvelles aventures.

Christophe REZENTHEL