Bonjour,
Je travaille sur un petit projet possédant l'architecture suivante:
- 1 projet ASP.NET qui héberge un controle silverlight 4.
- 1 projet Silverlight 4 (le controle en question).
- 1 projet WCF Data Service avec un modèle EF.
Le service WCF marche parfaitement. Aucun souci lorsque je l'appelle depuis un projet WPF par exemple.
Le projet Silverlight marche parfaitement aussi et aucun souci non plus lorsque je l'appelle depuis le projet ASP.NET.
Par contre dès lors que je référence le service WCF dans le projet Silverlight ca ne va plus... Et je sèche complet !!! On m'a orienté vers des soucis de cross-domaines, mais mon pb n'a pas vraiment l'air lié je dirai...
Extrait du code :
Instanciation du context dans le projet Silverlight :
GeolocalisationEntities context = new GeolocalisationEntities(new Uri("http://localhost:62874/WcfGeolocalisationService.svc", UriKind.Absolute));
Exemple de requète qui plante :
1 2 3 4 5 6 7 8 9 10
| List<TBonLivraison> ordres_livraisons = null;
try
{
ordres_livraisons = context.TBonLivraison.ToList();
}
catch (Exception ex)
{
throw ex;
} |
L'exception générée :
Silverlight n'autorise pas l'énumération directe au-dessus d'une requête du service des données, car l'énumération envoie automatiquement une requête synchrone au service des données. Étant donné que Silverlight ne prend en charge que les opérations asynchrones, vous devez appeler les méthodes BeginExecute et EndExecute pour obtenir des résultats de requête prenant en charge l'énumération.
Je ne trouve rien, aucune info sur le net et je ne comprend pas le pb... Je répète que si j'appelle directement la requète depuis un client WPF, aucun souci... C'est visiblement la "double couche" ASP - Silverlight - WCF qui pose pb...
Merci de votre aide !!!
Partager