wake-up-neo.com

unterschied zwischen WCF Services und Web Services und REST Bedienung

Was ist der Unterschied zwischen WCF Services und Web Services in .net?
Wann sollte ich WCF verwenden und wann sollten Webdienste verwendet werden. Ist REST und der WCF-Dienst gleich? Vielen Dank

26
Waheed Khan

Web Service ist ein abstrakter Begriff, der eine Vielzahl von Datenanbietern für verteilte Systeme umfasst. Vielleicht beziehen Sie sich auf ASMX-Web-Services, die immer noch in der Wildnis zu finden sind, aber heutzutage bei Neuentwicklungen nicht weit verbreitet sind.

WCF-Dienst ist die Implementierung von SOAP durch Microsoft. Es gibt andere Implementierungen oder Sie können Ihre eigenen Rollen ausführen (nicht empfohlen).

SOAPist eine Art zustandsbasierter, sitzungsbasierter, nachrichtenbasierter Webdienst. Es ist gut, wenn Ihr Dienst als eine Reihe komplexer Aktionen konzipiert ist.

RESTist ein zustandsloser, sitzungsloser, ressourcenbasierter Webdienst. Es ist gut, wenn Ihr Dienst darauf ausgelegt ist, auf Daten zuzugreifen und einfache CRUD-Vorgänge darauf auszuführen. SOAP und REST schließen sich gegenseitig aus. Ein Service kann nicht beides sein. Es gibt Möglichkeiten, Vanilla WCF zu manipulieren, um RESTful zu machen. Diese Techniken werden jedoch als veraltet eingestuft. Wenn Sie einen RESTful-Webdienst implementieren möchten, gibt es in der Welt von Microsoft zwei Hauptoptionen: WCF Data Services und ASP.NET-Web-API.

26

REST ist eine Architektur 

WCF ist eine API in .NET Framework zum Erstellen einer verbundenen, serviceorientierten Anwendung.

In früheren Zeiten war eine als Web-Service entwickelte Funktionalität über das Internet zugänglich, und die gleiche, um im lokalen Netzwerk verfügbar zu sein, war über Remoting verfügbar.

Mit WCF müssen wir keinen anderen Code entwickeln, um über das Internet und über das lokale Netzwerk erreichbar zu sein. Es reicht aus, es nur mit Bindungen zu konfigurieren.

9
Rajesh

Das ist eine sehr breite Frage ... Ich werde nur eine kurze Antwort auf hoher Ebene geben und vorschlagen, dass Sie etwas mehr suchen, da zu jedem Thema bereits viel geschrieben wurde. Aber hoffentlich sollte Ihnen dies einen Schub in die richtige Richtung geben.

Erstens beziehen sich Personen normalerweise auf WCF-Dienste und Web-Services, auf die neueren WCF-Konventionen, die Serviceaufrufe relativ generisch machen (dies können SOAP, REST usw. sein) und die alte .asmx SOAP - Methode von Web Dienstleistungen. In diesem Sinne würde ich vorschlagen, mehr über WCF und SOAP/.ASMX zu erfahren, um den Unterschied zwischen WCF und älteren Web Services zu ermitteln. 

Was WCF und REST betrifft, sind sie nicht gleich. REST ist eher eine Architektur, während WCF ein Framework ist. Wie bereits erwähnt, können Sie mit WCF SOAP - oder REST - Anrufe durchführen. Ich bin mir nicht sicher, ob ich noch viel mehr hinzufügen kann, ohne weiter ins Detail zu gehen. 

Ich werde sehen, ob ich einige gute Artikel über REST und WCF etwas später finden kann. Ich persönlich sehe keinen Grund, die ältere Art, Web-Services (.ASMX-Seiten) aufzurufen, sehr weit zu verfolgen, da WCF das ziemlich obsolet gemacht hat. Das Erlernen vieler verschiedener Möglichkeiten zum Enthäuten einer Katze kann jedoch hilfreich sein, um herauszufinden, was am besten zu Ihnen passt. 

Auch dies ist ein sehr hohes Niveau, aber dies sind sehr allgemeine Themen, die viel um jeden herum geben, so dass ein Überblick auf hohem Niveau Ihnen helfen wird, tiefer in jedes Thema zu gehen.

4
Justin Pihony

Manche Leute meinen "ASMX", wenn sie "Web Services" sagen. 

Andere verwenden nur "Web Services", um generische Technologie zu bezeichnen, und betrachten WCF als die aktuelle Methode zum Erstellen von Web Services auf der .NET-Plattform. Die andere Art sind "ASMX Web Services", im Unterschied zu "WCF Web Services". 

Die "andere Art" ist eine ältere Technologie, die nur aus Gründen der Abwärtskompatibilität unterstützt wird. Sie sollten nicht für Neuentwicklungen verwendet werden, es macht also keinen Sinn, dass Sie etwas über sie lernen.

Wie andere bereits gesagt haben, ist "REST" ein Architekturstil, keine Technologie.

3
John Saunders

Wcf : wcf ist eine Technologie als Teil des .NET-Frameworks, die eine Umgebung für die Arbeit mit verschiedenen verteilten Technologien bereitstellt und nach einem einheitlichen Programmiermodell . Wcf ein Proxy erstellt . __. zeichnet das XML-Format auf.

** Rest: ** Rest ist ein architektonischer Stil. Die vorhandenen Funktionen des Webs werden auf effektivere, effizientere und einfachere Weise verwendet. Verben wie Einfügen, Aktualisieren und Löschen Rest kann keinen Proxy erstellen. Restaufzeichnungen gezeigtes Jason-Format.

Web Service : Ein Dienst, der auf einer Website gehostet wird, wird als Webservice . Web Service Support xmlserializer bezeichnet

1
sreenu

WCF ist vielfältig, ich spreche also von seiner häufigsten Verwendung. Der allgemeine Unterschied zwischen WCF- und REST - Diensten bezieht sich auf den Inhalt. Ein REST - Aufruf ist in der Regel zentrierter für Nachrichten/Dokumente/Entitäten (bei Kundenentitäten finden Sie diejenigen, die mit M beginnen; bei Auftragsentitäten, bestellen Sie Auftrag 12 und ist an das HTTP-Protokoll gebunden. Suchoperation mit Parametern aufrufen, Aufrufoperation mit Parametern aufrufen) WCF ist auch nicht an HTTP gebunden. 

Zu Ihrer Information gibt es Erweiterungen, um REST - basierte Dienste mithilfe von WCF (WebInvoke, WebGet-Attribute) zu erstellen.

1
Rich

Ich sehe, dass dies ein ziemlich alter Thread ist, aber ich habe kürzlich eine ähnliche Frage gestellt.

Die Antworten haben alle eine ähnliche Relevanz, aber meiner Meinung nach war Ray dem, was tatsächlich gefragt wurde, am nächsten. Wenn Sie eine webbasierte Lösung entwerfen oder umgestalten, erhalten Sie immer die Frage, ob wir uns mit SOAP oder REST beschäftigen sollten . Die Antwort liegt in der Komplexität der Geschäftslogik, die hinter dem Service erforderlich ist. REST eignet sich für vereinfachte API-Aufrufe, die normalerweise kleine Mengen angeforderter Daten enthalten oder über Nacht mit großen Mengen verarbeitet werden, hauptsächlich jedoch für Datenanforderungen. SOAP ist eher ein interaktiver täglicher Service mit Geschäftslogik. Zum Beispiel viele Methoden mit vielen Parametern.

Was wir als Teil unserer webbasierten Lösung tun, ist, beides auszuprobieren. Für interne Methoden und Hauptfunktionalitäten verwenden wir SOAP, für exponierte APIs jedoch REST . Framework-bezogene, auf jeden Fall WCF als bevorzugte Wahl, unabhängig davon, ob SOAP oder REST.

0
Nico Dreyer