2009-04-09 5 views
1

Ich baue einen Service, der eine Reihe von Daten aus mehreren Soap-Web-Services aggregiert. Es gibt einen Standard dafür, wie das Web-Service-Call- und Soap-Paket aussehen soll. Aber natürlich ist die Version von Everywhere nur ein bisschen anders, hauptsächlich in der Namespace-Nutzung. Gibt es warum in C#, um dynamisch eine WSDL zu holen und das darauf basierende Soap-Paket zur Laufzeit zu erstellen? Ich möchte nicht das Dienstprogramm wsdl für jeden neuen Dienst, der online geschaltet wird, statisch ausführen müssen.Verbinden mit mehreren Web-Services über Soap in C#

Antwort

1

Es ist möglich zu tun, worüber Sie sprechen, aber es wäre sehr teuer (Systemressourcen) und langsam. Sehen Sie sich das Erstellen eines Provider-basierten Modells an, in dem Sie bereits auf alle Ihre Services verwiesen haben, und leiten Sie dann die Anfrage an den richtigen Service weiter.

Mit dem Provider-Modell können Sie neue Anbieter mithilfe von Reflektionen laden, so wie Sie es wünschen.

Hier ist ein Beispiel.

http://dotnetslackers.com/articles/designpatterns/HowToWriteAProviderModel.aspx

es kann auf Dienste angepasst werden.