2012-11-19 14 views

Antwort

1

Sie können manuell Datenverträge und eine Schnittstelle bauen nur die Vorgänge enthält, die Sie interessieren, und dann diese Schnittstelle mit einem ChannelFactory einen Basis-Client erstellen, die nur jene Operationen zielen wird, oder ...

. .. Sie können die WSDL auch von allen nicht benötigten Operationen und Elementen entfernen und das Ergebnis an svcutil.exe übergeben, um einen einfacheren Client zu erstellen. Ein sicherer Ansatz wäre, die große WSDL an svcutil.exe zu füttern und das, was Sie nicht brauchen, vom generierten Code zu entfernen (das ist sicherer, weil die Compiler Sie sofort informieren werden, wenn Sie etwas löschen, was Sie nicht tun sollten).

So oder so, ich denke, Sie müssen einige manuelle Eingriffe vornehmen.

1

svcutil hat eine /excludeType Flagge. Es kann während des Metadaten-Exports und der Typgenerierung verwendet werden.

Vom svcutil Befehlszeilenhilfe:

/excludeType: - Vollqualifizierter oder Assembly qualifizierten Typnamen von Export oder Validierung auszuschließen. Diese Option kann verwendet werden, wenn beim Exportieren von Metadaten für einen Service oder einer Reihe von Serviceverträgen die Werte ausgeschlossen werden. Diese Option kann nicht mit der Option /dataContractOnly verwendet werden. (Kurzform:/et)

Die Antwort auf How do I export metadata for a single contract with svcutil.exe? verwendet es, um ein ähnliches Problem zu lösen.

Ich hoffe Typfilterung funktioniert für Sie, weil ich keine "out the Box" Möglichkeit weiß, es nach Methode zu tun.

Verwandte Themen