Frage

Ich arbeite an einem neuen Projekt.Hat die Verwendung eines WCF-Webdienstes einen Vorteil gegenüber einem herkömmlichen, altmodischen Webdienst?

Visual Studio bietet Vorlagen für beides.Was sind die Unterschiede?Vor-und Nachteile?

War es hilfreich?

Lösung

Was ist ein "normaler altmodischer Webservice"? Ein ASMX -Dienst oder verwenden Sie auch WSE?ASMX-Dienste sind von Natur aus nicht interoperabel, unterstützen keine WS-*-Spezifikationen und ASMX ist eine Technologie, die sehr schnell altert.WSE-Dienste (Web Service Enhancements) bieten zwar Unterstützung für WS-* und können interoperabel gemacht werden, aber WCF soll WSE ersetzen, Sie sollten sich also die Zeit nehmen, es zu erlernen.Ich würde sagen, dass Sie, wenn Sie sich für WCF entscheiden, enorme Flexibilität gewinnen und am Ende ein besseres Design erhalten, es sei denn, Ihre Anwendung ist eine schnelle und schmutzige Einzelanwendung.WCF tut haben eine Lernkurve, die über ein [WebMethod]-Attribut hinausgeht, aber die Lernkurve ist meiner Meinung nach übertrieben und sie ist exponentiell leistungsfähiger und zukunftssicherer als ältere ASMX-Dienste.

Sofern Ihr Zeitplan die Lernkurve nicht einfach nicht tolerieren kann, würden Sie sich selbst einen großen Gefallen tun, wenn Sie WCF erlernen, anstatt nur bei ASP.NET Web Services zu bleiben.Anwendungen werden immer weiter verteilt und miteinander verbunden, und WCF ist die Zukunft des verteilten Computings auf der Microsoft-Plattform.

Hier ist ein Vergleich zwischen den beiden.

Andere Tipps

Die Vorteile, alles alleine zu machen, sind:

  • Keine Lernkurve
  • Sehr flexibel

Die Vorteile von WCF sind:

  • Kostet auf längere Sicht weniger Zeit
  • Wechseln Sie Protokolle ohne Programmierung

Ein Nachteil von WCF:einige statische Eigenschaftsnamen kann ziemlich langwierig sein...

Zusammenfassen:Mit WCF können Sie sich auf das Programmieren konzentrieren, aber Sie müssen es zuerst lernen ;-)

Pro für WCF:Sie benötigen keinen Webserver (d. h.IIS).Sie benötigen eigentlich kein Server-Betriebssystem.

Mir gefällt die Tatsache, dass das Schreiben von WCF-Diensten es einfach macht, Ihren Dienst von der Implementierung zu trennen.Sie können Ihren Dienst schreiben und ihn dann in IIS, einer Konsolenanwendung oder einem Windows-Dienst hosten;Sie können auch über HTTP, Net TCP usw. mit ihm kommunizieren.

Unit-Tests zur Implementierung und Interaktion Ihrer Dienste sind einfacher durchzuführen!

Wenn Ihr Projekt Framework 4.0 verwendet, warum probieren Sie nicht WebApi aus, das leicht zu verstehen ist und die Konvention über die Konfiguration verwendet?

Es ist eine großartige Möglichkeit, Anwendungen mit superschnellen Schnittstellen zu erstellen

Schauen Sie sich die Einstiegsvideos von MS an. Es ist eine Weiterentwicklung der WCF Data Services.

http://www.asp.net/web-api/overview/getting-started-with-aspnet-web-api

Durch meine Erfahrung

WCF

Die Arbeit damit ist absurd umfangreich, es ist nicht ganz kompatibel mit anderen Microsoft-Produkten und natürlich wird es außerhalb der Microsoft-Welt nicht allgemein akzeptiert.

Mein Hauptproblem besteht jedoch darin, dass es nicht stabil ist, (in manchen Situationen) zum Scheitern neigt und optimiert werden muss, bevor es verwendet werden kann.

Stattdessen

SOAP (auch Standard-Webservice genannt) funktioniert, ist einfach zu bedienen und weitgehend kompatibel (Java-JAX akzeptiert es ohne Änderungen).

Das Hinzufügen einer Authentifizierung in SOAP könnte etwas schwierig, aber nicht unmöglich sein.

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