Wie kann ich verhindern, dass ein Out-Parameter in einem WCF-Web-Service als Rückgabe-Parameter endet?

9

Wenn mein Vertrag wie folgt aussieht:

%Vor%

sieht das so aus:

%Vor%

beim Importieren einer Webdienst-Referenz. Ist es möglich, die automatische Umwandlung der Reihenfolge der Parameter zu beeinflussen? Es war schon überraschend, alle Out-Parameter zu Beginn der Funktionssignatur zu finden, aber das war noch praktikabel, aber wir möchten, dass void-Methoden weiterhin void-Methoden bleiben. Oder ist dies eine SOAP-Einschränkung?

    
Abel 02.07.2012, 13:44
quelle

1 Antwort

4

Es scheint auf einer WSDL-Einschränkung zu basieren: Ссылка

  

WSDL zeigt die ursprüngliche Methodensignatur nicht an; stattdessen zeigt es   die Eingabeparameter als eine Gruppe und die Ausgabeparameter als eine andere   Gruppe.

Die Einschränkung, dass es nicht möglich ist, Rückgabewerte von Ausgabeparametern zu trennen, liegt in der WSDL. Aber das würde bedeuten, dass die Einschränkung einer void-Methode Teil von svcutil.exe sein würde, denke ich. Es gibt keinen Grund, warum SVUCUTIL nicht eingeschaltet werden kann, um die erste Ausgabe nicht auf einen Rückgabewert zu verschieben, aber das wäre eine Anforderung für ein Feature in ms connect.

Statt void, könnten Sie einen einfachen Status int oder bool zurückgeben, wenn Ihr Problem Konsistenz ist, aber ich bin sicher, dass das keine perfekte Antwort ist, wenn Sie bereits Dutzende von Methoden haben.

    
b_levitt 02.07.2012, 14:50
quelle