Question

Quelqu'un a-t-il une expérience en programmation dynamique utilisant WCF?Par programmation dynamique, j'entends la consommation d'exécution des WSDL.J'ai trouvé une entrée de blog/un outil :http://blogs.msdn.com/vipulmodi/archive/2006/11/16/dynamic-programming-with-wcf.aspx

Quelqu'un ici a-t-il trouvé de bons outils pour cela ?

Était-ce utile?

La solution

C'est l'un des aspects les plus étranges de WCF.Vous pouvez créer dynamiquement une fabrique de canaux, mais uniquement avec un type connu.

J'ai trouvé une solution qui n'est pas parfaite, mais qui fonctionne :

Créez une interface, "IFoo", qui contient une seule méthode, par exemple Execute().Dans votre ESB, créez dynamiquement un ChannelFactory<IFoo> pour le point de terminaison auquel vous souhaitez vous connecter.Définissez les propriétés de connexion (URI, etc.).

Désormais, vous pouvez attacher des services dynamiquement à votre ESB, à condition qu'ils implémentent toujours l'interface "IFoo".

Autres conseils

Je l'ai fait il y a longtemps avec les services Web SOAP.Il y avait un outil sur GotDotNet qui, je pense, est devenu Web Services Studio Express, qui contenait du code qui inspectait/analysait un fichier WSDL et vous permettait de l'appeler.

Je pense que l'hypothèse est que le WSDL est connu au moment de la création du client et que vous n'avez pas besoin d'être connecté au moment de l'exécution.Si vous inspectez le WSDL au moment de l'exécution, vous devez toujours disposer d'une sorte de logique pour décider comment générer le proxy.Pourquoi ne pouvez-vous pas consommer le WSDL avant l'exécution ?Les services Web sont censés être assez statiques avec une interface qui ne change pas une fois publié.

Vous pouvez utiliser .NET CodeDom pour générer du code afin d'exécuter et d'utiliser le service Web décrit par le WSDL.Le WSDL peut être analysé à l'aide des classes XML .NET standard.

J'envisage en fait de créer un petit ESB, où un utilisateur peut ajouter un service Web vers lequel se diriger au moment de l'exécution.Je ne peux donc pas ajouter de WSDL de manière statique

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