2011-01-17 2 views
-1

Mein Verständnis ist, dass ein C# -basierter Client SOAP "bevorzugt", da beim Hinzufügen einer Web-Service-Referenz eine Proxy-Klasse aus der wsdl in der angegebenen URL erstellt wird.C# Web Services: Umgang mit einem Objekt und Methoden in Soap vs Rest?

Was es für den C# -Client beinahe transparent macht, dass wir sogar einen Webdienst verwenden, fühlt sich fast so an, als würden wir eine lokale Klassenbibliothek verwenden. Sie rufen Methoden auf und Sie verwenden Objekte.

Meine Frage ist, kann REST die gleiche Wirkung erzielen. Ich nehme an, dass es nicht kann, da es keine WSDL hat und Visual Studio daher keine Proxy-Klasse dafür erzeugen kann. Aber bitte korrigieren Sie mich, wenn ich falsch liege?

Antwort

0

Ein "Lauf der Mühle" REST-Dienst kann nicht die gleiche enge Integration mit C# erreichen - vor allem, weil ihm die Metadaten eines SOAP-Dienstes fehlen (mit einer Liste von Methoden und ihren Parametern und all dem Zeug) . Die WCF Data Services (auf REST aufgebaut) funktionieren ähnlich wie SOAP-Dienste, da das OData-Protokoll Erweiterungen für reine REST-Dienste enthält, die Metadateninformationen bereitstellen, die zum Erstellen eines guten, nützlichen clientseitigen Proxys erforderlich sind.

0

REST kann verwendet werden, um Client-seitige Klassenbibliotheken zu generieren. Zum Beispiel Sie können Proxy-Klassen für MS-generierte REST-Dienste erstellen. Tatsächlich treibt MS dieses Modell aktiv für auf Entity Framework basierende WCF DATA Services, z. die von Silverlight und RIA-Anwendungen verwendeten. Überprüfen Sie MS ODATA Framework für REST, das das Erstellen von Clientobjekten aus Standard-REST-Abfragen beinhaltet.

http://msdn.microsoft.com/en-us/library/dd673930.aspx

Verwandte Themen