2009-05-28 5 views
3

Je suis en train de mettre en œuvre des objets qui auront à peu près autant de richesse côté client et côté serveur.Stratégies de conception pour les bibliothèques de classes qui s'étendent sur Javascript et C#

Dans ce cas particulier, je vais construire (espérons-le) une petite bibliothèque de classes pour traiter les jetons de recherche. Donc, en tant qu'exemple de pseudo-code, je veux être capable de faire l'équivalent de ce qui suit dans Javascript et sur le serveur (C# dans mon cas). Quelles stratégies de conception éviteront de créer une grosse boule de boue pour une bibliothèque qui doit couvrir C# et Javascript?

Mise à jour: Vous cherchez plus de stratégies que la mécanique. Mais je vais prendre des conseils que je peux obtenir de ceux qui ont déjà fait des choses similaires.

+0

Hmmmmm. Hypothétiquement? Interface avec l'enfer. Fais de ton mieux pour les séparer, tu veux gratuit, pas lié idéalement. Si vous faites inévitablement des communications client-serveur, faites-le d'abord. Je pense à un médiateur et/ou à un observateur. – annakata

+0

Ce que je cherche, c'est quelque chose comme Annakata. Je suis heureux d'aider à clarifier la question si nécessaire. – Larsenal

Répondre

3

Jetez un oeil à Script # par Nikhil Kothari, pourrait vous aider. C'est un compilateur C# en JavaScript.

0

Vous devriez être en mesure d'exécuter un code Javascript sur votre serveur .NET en utilisant Microsoft JScript.NET - compiler avec /target:library et assurez-vous qu'il est conforme CLS et que vous déclarez ce fait avec

[assembly:System.CLSCompliant(true)] 

ou autre variantes de CLS compliance declarations. Une fois que vous avez obtenu ce travail, vous pouvez exécuter (un peu de) code JS sur le serveur (l'appelant de C#) et le client (l'appelant d'autres JS) et plus facilement assurer une fonctionnalité égale des deux côtés.

1

Si les performances ne sont pas critiques, vous pouvez charger les données en JSON ou XML et les renvoyer vers le serveur et effectuer le traitement. Je pense que WCF peut générer une interface JavaScript prête à l'emploi. Voir .NET by Example: Calling a WCF service from Javascript.

Questions connexes