Bonjour à tous,

Je suis actuellement en projet de fin d'études, et je suis en train de développer une application Windows Phone qui a pour vocation de communiquer avec une application Cloud, hébergée sur Azure.

Pour me "faire les crocs" avant de m'attaquer au vif du sujet, je m'exerce à exposer/consommer des données en utilisant WCF mais aussi Odata. J'expose donc des vidéos via leur URL (exemple donné par David dans le Coach MSDN de Silverlight), et je les consomme ensuite dans un client Silverlight et dans un client Windows Phone.

Avec les serveurs virtuels qu'offrent les template Silverlight, j'ai réussi à faire exactement ce que je voulais : une référence de service à l'adresse qui va bien (http://localhost:XXX...), les classes proxy se génèrent comme il faut, bref, parfait. Mais depuis que la même application est hébergée sur Azure, une erreur apparaît lors du chargement de la liste des vidéos...

Voici un extrait de mon code côté client, qui se connecte au service exposant une méthode qui retourne une liste de vidéos :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
 
        private void Page_Loaded(object sender, RoutedEventArgs e)
        {
            ServiceVideosClient clientWCF = new ServiceVideosClient();
            clientWCF.RetourneLesVideosCompleted += new EventHandler<RetourneLesVideosCompletedEventArgs>(clientWCF_RetourneLesVideosCompleted);
            clientWCF.RetourneLesVideosAsync();
        }
 
        void clientWCF_RetourneLesVideosCompleted(object sender, RetourneLesVideosCompletedEventArgs e)
        {
            if (e.Result != null)
            {
                ListeChoix.ItemsSource = e.Result; // L'erreur "Inconnue" se produit ici, avec le e.Result
 
            }
            else
            {
                MessageBox.Show("Pas de vidéos");
            }
        }
Si vous voulez vous connectez au service, il se trouve à cette adresse (pour l'instant, il n'affiche qu'une vidéo lambda, ne servant qu'à tester la communication entre le client et le serveur) :
http://servicevideos.cloudapp.net/ServiceVideos.svc

Je répète que c'est exactement avec cette méthode que je consommais le service hébergé sur un serveur local, et que tout fonctionnait... Si j'expose le service en Odata (qui marchait aussi en local) le même problème survient.

Si vous avez des idées, merci d'avance pour votre aide !
J'espère avoir été clair, sinon n'hésitez pas à me poser des questions...


EDIT : je précise que le binding de la combobox "ListeChoix" fonctionne très bien, du moins avec les données exposées en local... je ne vois pas pourquoi ce ne serait plus le cas avec le résultat retourné par ce WebService, qui est exactement le même !