Ma compréhension est que si vous suivez la procédure d'accès client décrite dans Understanding WCF Services In Silverlight 2, vous devriez être en mesure de choisir quel service accéder à l'exécution, car vous n'avez pas besoin de créer un proxy côté client.
Un extrait de cet article:
Maintenant, nous pouvons porter notre attention sur l'application cliente . Pour commencer, laissez-moi commencer par rappeler à tous que vous ne devriez jamais utiliser "Add Service référence" dans Visual Studio pour création de client de service magique. Le code est incroyablement verbeux, difficile à gérable, les modifications sont susceptibles d'être remplacé, et il est presque toujours utilisé comme une excuse pour pas réellement apprendre WCF.
Comme je l'ai mentionné plusieurs fois déjà, WCF s'appuie sur le concept de l'ABC. Pour .NET et Silverlight, vous fusionnez une adresse et une liaison avec un contrat dans une fabrique de canaux pour créer un canal . Ce n'est pas fantaisie parler conceptuel architecte, c'est exactement ce que votre code ressemblerait (le signe de très bonne architecture !) Voici la version .NET de ce que je veux dire:
BasicHttpBinding basicHttpBinding = new BasicHttpBinding();
EndpointAddress endpointAddress = new EndpointAddress("http://localhost:1003/Person.svc");
IPersonService personService = new ChannelFactory<IPersonService>(basicHttpBinding, endpointAddress).CreateChannel();
Person person = personService.GetPersonData("F488D20B-FC27-4631-9FB9-83AF616AB5A6");
Pourquoi avez-vous besoin d'un proxy dynamique? Cherchez-vous simplement à définir dynamiquement le point de terminaison du proxy? – slugster
Eh bien, j'ai besoin de l'ensemble du proxy pour être dynamique afin que je puisse me débarrasser des proxies générés au moment du design. – fredlegrain
Pour répondre à la question "pourquoi": J'ai un hôte WCF dynamique exposant les services fournis à l'exécution, j'ai une plate-forme client exécutant des plug-ins appelant les services via la plateforme client, je veux partager uniquement les descriptions de service, ces mêmes descriptions de service sur les clients .Net et les clients Silverlight. J'espère que cela a du sens :) – fredlegrain