Frage

Hat jemand Erfahrung mit dynamischer Programmierung mit WCF?Mit dynamischer Programmierung meine ich den Laufzeitverbrauch von WSDLs.Ich habe einen Blogeintrag/ein Tool gefunden:http://blogs.msdn.com/vipulmodi/archive/2006/11/16/dynamic-programming-with-wcf.aspx

Hat hier jemand gute Tools dafür gefunden?

War es hilfreich?

Lösung

Dies ist einer der seltsamsten Aspekte von WCF.Sie können eine Channelfactory dynamisch erstellen, jedoch nur mit einem bekannten Typ.

Ich habe eine Lösung gefunden, die nicht perfekt ist, aber funktioniert:

Erstellen Sie eine Schnittstelle, „IFoo“, die beispielsweise eine einzelne Methode enthält Execute().Erstellen Sie in Ihrem ESB dynamisch eine ChannelFactory<IFoo> für den Endpunkt, mit dem Sie eine Verbindung herstellen möchten.Legen Sie die Verbindungseigenschaften (URI usw.) fest.

Jetzt können Sie Dienste dynamisch an Ihren ESB anhängen, sofern diese immer die „IFoo“-Schnittstelle implementieren.

Andere Tipps

Ich habe das vor langer Zeit mit SOAP-Webdiensten gemacht.Es gab ein Tool auf GotDotNet, das meiner Meinung nach zu einem geworden ist Web Services Studio Express, der Code enthielt, der eine WSDL-Datei überprüfte/parst und es Ihnen ermöglichte, sie aufzurufen.

Ich denke, die Annahme ist, dass die WSDL zum Zeitpunkt der Client-Erstellung bekannt ist und Sie zur Laufzeit nicht angeschlossen sein müssen.Wenn Sie die WSDL zur Laufzeit überprüfen, benötigen Sie immer noch eine Art Logik, um zu entscheiden, wie der Proxy generiert wird.Warum können Sie die WSDL nicht vor der Laufzeit nutzen?Webdienste sollen ziemlich statisch sein und über eine Schnittstelle verfügen, die sich nach der Veröffentlichung nicht ändert.

Mit .NET CodeDom können Sie Code generieren, der den von der WSDL beschriebenen Webdienst ausführt und verwendet.Die WSDL kann mit den standardmäßigen .NET-XML-Klassen analysiert werden.

Ich denke tatsächlich darüber nach, einen kleinen ESB zu erstellen, bei dem ein Benutzer einen Webservice hinzufügen kann, zu dem er zur Laufzeit weiterleitet.Daher kann ich WSDLs nicht statisch hinzufügen

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top