2010-04-29 2 views
2

Je suis débutant dans Silverlight .. J'ai créé un projet Silverlight. Lorsqu'un nouveau projet Silverlight est créé, il crée automatiquement une application Silverlight et une application Web. J'ai ajouté une classe dans les deux applications. Maintenant, je veux accéder à une méthode de classe d'application Web dans la classe d'application Silverlight. C'est possible? J'ai essayé d'ajouter une référence d'application Web à Silverlight mais VS ne permet pas. Y a-t-il une autre façon de faire?Comment accéder à la classe d'application Web dans l'application Silverlight

+0

Si tout ce que vous voulez faire est de partager la logique, la réponse de Slugster est valable. Cependant voulez-vous dire que vous voulez être en mesure d'appeler une méthode sur une classe qui s'exécute côté serveur sur le site Web? – AnthonyWJones

+0

Oui..la classe s'exécute côté serveur. – Srikanth

Répondre

2

Ce dont vous avez besoin s'appelle WCF. Un didacticiel vraiment simple qui devrait vous aider est disponible ici: How to call WCF methods from Silverlight controls

Fondamentalement, WCF permet au client Silverlight de faire des appels de méthode sur une instance de classe hébergée sur le site Web.

1

Oui c'est possible, mais pas de la manière normale. Un assembly Silverlight peut uniquement référencer un autre assembly Silverlight (il s'agit d'une limitation de VS2008, je ne sais pas s'il a été modifié dans VS2010). Ce que vous devez faire est d'ajouter un fichier existant à votre projet Silverlight, lorsque la boîte de dialogue d'ouverture de fichier s'ouvre vous accédez au fichier de classe que vous souhaitez réutiliser, mais au lieu de simplement cliquer sur le bouton Add, cliquez sur le petit flèche sur le bouton et choisissez Add as link - maintenant le fichier "existera" dans les deux projets et peut être utilisé dans les deux. Cependant, si vous allez le faire à plusieurs reprises, vous souhaiterez déplacer ces fichiers de classe partagés dans un assemblage séparé, faire une référence de projet à partir de votre application Web et avoir la bibliothèque de classes Silverlight équivalente en miroir (partage de fichiers en tant que liens), puis projet référence cette bibliothèque de classes Silverlight à partir de votre application Silverlight.

+0

Slugster: Merci pour votre réponse. La classe que j'ai ajouté est incapable d'accéder à System.Data.SqlClient et à d'autres espaces de noms également. – Srikanth

Questions connexes