Question

J'ai un projet Silverlight dans lequel les fonctionnalités sont séparées dans plusieurs bibliothèques Silverlight en raison de la taille et de la complexité de l'application. Je ne parviens pas à trouver le meilleur moyen de découpler le service de domaine RIA généré à partir du projet de site Web. Je dois pouvoir accéder aux données des autres bibliothèques car elles seront chargées dynamiquement dans l'application principale Silverlight en fonction des besoins.

Était-ce utile?

La solution

J'ai fini par prendre le code généré par Visual Studio dans le répertoire Generated_Code de l'application Silverlight principale et créer plusieurs bibliothèques Silverlight pour séparer le domaine Ria DomainContext, le service d'authentification, les entités et les autres services de domaine que nous avions écrits. J'ai ensuite extrait les interfaces pour le DomainContext, etc. et les ai placées dans leur propre bibliothèque. En utilisant Microsoft Unity Framework pour Silverlight, j'ai pu découpler tous mes modules du projet principal. Tous mes modules utilisent maintenant les interfaces. Il y a un conteneur IoC dans l'application principale dans lequel j'enregistre toutes les classes qui implémentent les interfaces et qui sont injectées dans les pages au fur et à mesure qu'elles sont instanciées. Pas compliqué après tout. La seule chose à retenir est de laisser l'attribut EnableClientAccess sur les classes de services de domaine du serveur, mais de supprimer le lien de projet de serveur ASP.Net de l'application Silverlight principale. J'ai lu qu'ils prévoyaient de simplifier cela dans la version finale de Ria Services / Silverlight 3, d'autres personnes s'étant plaints du couplage étroit créé par la configuration actuelle.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top