2010-10-03 3 views
0

Pour le moment, il semble qu'une classe de services de domaine RIA ne peut pas retourner un type personnalisé sinlge. Il y a des parties de mon application qui en ont besoin, alors pensez que la seule façon d'obtenir cela est de rappeler à un simple service WCF activé par Silverlight, qui, je pense, n'aura aucun problème à retourner un type personnalisé. Je ne vois pas où l'application client Silverlight a une quelconque référence aux services Ria. Comment configurer un service RIA et un service WCF sur le client Silverlight? Le service WCF sera-t-il "conscient" de l'authentification déjà en place avec les services RIA?Est-il raisonnable d'avoir DomianService et le service WCF activé par Silverlight

Répondre

2

Ceci est l'un de mes plus gros bugbears de RIA Services :). La bonne chose est qu'ils sont en train d'activer les types complexes à renvoyer à partir des méthodes invoke (en fonction du site vocal de l'utilisateur pour les services RIA). Cependant, cela ne vous aidera pas maintenant :). La meilleure façon de mettre en œuvre votre exigence de retourner des objets complexes est en effet de configurer un service WCF standard pour renvoyer des types complexes lorsque cela est nécessaire. Vous le faites de la manière normale que vous exposeriez un WCF dans n'importe quel projet Web. Vous le consommez ensuite dans votre application Silverlight de la même manière que vous le feriez pour un service WCF dans tout autre type de projet (en l'ajoutant comme référence de service). La principale différence lors de la consommation (par rapport à d'autres types de projets) est que Silverlight prend en charge uniquement les appels asynchrones. Une différence à prendre en compte avec RIA Services est que les services RIA déterminent automatiquement l'URI des services de domaine (en fonction de l'origine du fichier XAP), vous devrez gérer cet aspect vous-même (très important lorsque vous essayez de déployer votre application :). Pour ce faire, définissez l'URI dans le fichier app.config ou utilisez la méthode que j'utilise dans le code accompagnant cet article ici: http://www.silverlightshow.net/items/Building-a-Framework-for-Silverlight-Line-Of-Business-Applications.aspx. En ce qui concerne votre dernière question, oui, RIA Services utilise l'authentification ASP.NET standard, de sorte que le cookie qu'il utilise pour conserver votre statut d'authentification est également utilisé par les services WCF du même projet. Je parle un peu de la sécurité avec les services WCF dans cet article si vous voulez plus d'informations: http://www.silverlightshow.net/items/Building-a-Silverlight-Line-Of-Business-Application-Part-3.aspx.

Hope this helps ...

Chris

+0

C'est exactement le genre de confirmation que je cherchais. Vous mentionnez le site vocal des utilisateurs pour les services RIA, et vous vous demandez si vous pouvez inclure l'URL pour cela. –

+0

Heureux que ça a aidé :). Le site est http://dotnet.uservoice.com/forums/57026-wcf-ria-services. Vous constaterez que "Support pour les types complexes" est la fonctionnalité la plus élevée votée # 3, et est marqué comme commencé :). –

Questions connexes