Frage

Ich bin etwas verwirrt über ADO.Net Daten Services.

Ist es nur gemeint, für die Erstellung von RESTful web services?Ich weiß, WCF begann in der SOAP-Welt, aber nun höre ich es hat gute Unterstützung für REST.Gleiches gilt für die ADO.Net Daten-services, wo Sie können machen es Arbeit in einen RPC-Modell, wenn Sie kann nicht auf alles schauen, von einer Ressourcen-orientierten Sicht.

Zumindest von den demos, die ich kürzlich sah, wie es aussieht ADO.Net Data Services basiert auf der WCF-stack auf dem server.Bitte korrigieren Sie mich, wenn ich falsch bin.

Ich bin nicht beabsichtigen, zu beginnen ein REST vs SOAP-Debatte, aber ich denke, die Dinge sind nicht, dass kristallklaren mehr.

Irgendwelche Vorschläge oder Richtlinien, was zu verwenden, wo?

War es hilfreich?

Lösung

Meiner Ansicht nach ADO.Net data services ist für die Erstellung von restful-services, die eng mit Ihr domain-Modell, das die Modelle selbst veröffentlicht werden eher dann sagen, irgendeine form von DTO etc.

Verwenden Sie für das RPC-style-Diensten scheint wie ein schlechter Passform, aber leider auch einige sehr grundlegende Funktionen wie die Möglichkeit zum ausführen einer gefilterten zählt, etc.nicht verfügbar das bedeutet oft, am Ende werden Sie mit einigen RPC-nur um den Anforderungen Ihrer Kunden, d.h.so können Sie die Anzeige eines ausgelagerten raster etc.

WCF 3.5 pre-SP1 war ein ziemlich schwacher RESTful-Plattform, mit der SP1 haben sich die Dinge verbessert, die in beide Uri-templates und mit der Verfügbarkeit von ATOMPub-Unterstützung, so dass es immer noch in der Lage, aber Sie wissen nicht wirklich eleganten Lösung für die Unterstützung sagen, JSON, XML, ATOM-oder sogar etwas mehr esoterischen wie Nutzlast, wie CSV-gleichzeitig, kurz, mit zu machen, URL-rewriting und andere Nebenstelle name der Methode munging etc.- anstatt nur die Auswahl einer serializer/deserializer basierend auf den Header der Anforderung.

Mit WCF ist es immer noch schwer zu schaffen-Dienstleistungen, die Arbeit in einer mehr natürlichen erholsamen manor d.h.wo Ressourcen urls, und Sie können übergangszustand durch die Navigation durch Sie zu es ist ein wenig klobig - ADO.Net data-services macht das sehr gut mit AtomPub-support though.

Meine Empfehlung wäre die Verwendung von web-services, wo Sie natürlich sind Dienstleistungen, und starke service-Grenzen erzwungen wird, verwenden Sie ADO.Net Data services für rich-web-style Kunden (Webseiten, ajax, silverlight), wo die Kombinierbarkeit der url-Abfragen können sparen eine Menge von Sanitär-und Ihr domain-Modell ist ziemlich einfach...und Rollen Sie Ihre eigenen REST-Schicht (vielleicht mit einem MVC-framework als Ausgangspunkt), wenn Sie müssen die vollständige Kontrolle über die Informationen, z.B.wenn Sie die Veröffentlichung einer API für andere Entwickler zu konsumieren auf eine soziale Plattform, etc.

Meine 2ø lohnt sich!

Andere Tipps

Mithilfe der WCF rest-Bindung ist sehr gültig, wenn die Arbeit mit code, der nicht die Interaktion mit einer Datenbank überhaupt.Die HTTP-Verben nicht haben immer zu gehen gegen einen Daten-provider.

Tatsächlich, es gibt Optionen zum filtern und überspringen, um die Seite gefällt mir " - Funktion unter anderen.

Siehe hier:

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