2009-09-25 8 views
2

Je travaille sur un site silverlight 3 en utilisant le mélange d'expression 3 (projet silverlight + option site web dans le mélange d'expression).Comment ajouter des classes à la structure de mon projet + site web silverlight?

J'ai besoin d'ajouter une logique métier pour les commandes à consommer (par exemple, obtenir des entrées pour mes jauges à ramasser). Si j'ajoute du code à la bibliothèque de classes, je ne peux pas utiliser tous les espaces de noms et les types - je suppose en raison des limitations du CoreCLR. Si j'ajoute les classes au site lui-même, alors je peux voir tous les types mais je n'arrive pas à trouver/appeler les classes malgré les niveaux de visibilité et les références toutes ajoutées et correctes (namespace ... est tout correct).

Quelle est la méthode recommandée pour ajouter de la logique à la structure de mon projet? Si j'ajoute une bibliothèque de classes complètement séparée (par exemple, en utilisant Visual Studio), puis que mes contrôles utilisent les fonctions de consommation de la bibliothèque de classes, puis-je voir tous les types/espaces de noms dans le framework?

Merci

+0

Pourriez-vous donner un échantillon simplifié de ce que vous voulez dire? Nous mettons notre code dans une bibliothèque de classes Silverlight, et nos vues dans le projet d'application Silverlight peuvent y accéder très bien. Avez-vous ajouté les instructions xmlns appropriées à vos fichiers xaml? Vous incluez les options d'espace de noms par la balise xmlns dans la partie supérieure de votre fichier xaml. – Jeremiah

+0

Ah, il me manque peut-être les instructions XmlNs. J'ai eu ce problème mineur avant car je ne pouvais pas voir les espaces de noms de mes contrôles tiers. Je vous ferai savoir si cela résout quand je peux le tester sur ma machine dev. :) – dotnetdev

Répondre

0

Vous devriez regarder la .NET RIA Services de partager la logique métier entre le serveur et le client. Voir this article par Brad Abrams, sa série d'articles de blog, et son video de Mix 2009.

+0

Est-ce que cela va me permettre d'utiliser tout le CLR? Cela ne me dérange pas comment je devrais structurer mon projet maintenant pour pouvoir voir le CLR entier, tant que c'est en quelque sorte possible. – dotnetdev

1

Si vous ajoutez un projet de bibliothèque standard, vous ne pourrez pas l'utiliser dans Silverlight, si vous ajoutez un projet de bibliothèque Silverlight vous devrez avoir les mêmes limitations que vous trouvez dans l'application Silverlight elle-même.

Votre logique, si vous en avez besoin pour exécuter clientside dans l'application Silverlight, devra se limiter à ce qui est disponible dans les versions Silverlight des bibliothèques .NET. Cependant ceci représente toujours une couverture significative des bibliothèques .NET standard particulièrement du point de vue de l'application d'UI de clientide.

À quelles bibliothèques .NET spécifiques n'avez-vous pas accès?

+0

Je veux travailler avec des choses comme les compteurs de performance (de la machine locale), WMI, etc. – dotnetdev

+0

De chez Silverlight? Il ne va pas se passer, Silverlight fonctionne dans un "Security Sandbox" et ce sont exactement les choses que nous ne voulons pas que les applications Silverlight soient capables de faire. S'ils pouvaient les plus sysadmins sensibles mettraient la liste noire Silverlight. – AnthonyWJones

Questions connexes