2009-06-11 11 views
2

Ich bin neu bei WCF und Web Services im Allgemeinen. Welche Verbesserungen bringt WCF auf den Tisch? Kann jemand Seite an Seite ein Beispiel für einen herkömmlichen Webservice geben und den gleichen, der mit WCF geschrieben wurde, und auf die Unterschiede und Vorteile hinweisen?Was sind die Unterschiede zwischen WCF und traditionellen ASP.NET Web


Doppelte FrageMoving ASP.net webservices to WCF

+0

Duplizieren von http://stackoverflow.com/questions/406665/moving-asp-net-webservices-to-wcf –

Antwort

5

EDIT: Ich denke, die Antwort gefunden Sie, wo für einen Side-by-Side-Code basierten Vergleich suchen und noch besser ist es von MSDN: Comparing ASP.NET Web Services to WCF Based on Development

Es gibt mehrere ähnlichen Fragen:

Wie auch immer Sie nach einem Vergleich nebeneinander gefragt haben, in diesem Fall denke ich Sams Wcf vs ASMX Blog-Artikel ist mehr, was Sie suchen.

Zitiert ad-wörtlich (lassen Sie mich wissen, wenn ich es nur als Link verlassen sollte):

WCF vs.ASMX

Protokolle unterstützen

WCF

  • HTTP
  • TCP
  • Named Pipes
  • MSMQ
  • Benutzerdefinierte
  • UDP

ASMX

  • HTTP nur

Hosting

ASMX

  • Kann nur mit Httpruntime auf IIS gehostet werden.

WCF

  • Ein WCF-Komponente kann in jeder Art von Umgebung in .NET 3.0, wie eine Konsole-Anwendung, Windows-Anwendung oder IIS gehostet werden.
  • WCF-Dienste werden im Gegensatz zu Webdiensten als "Dienste" bezeichnet, da Sie Dienste ohne Webserver hosten können.
  • Self-Hosting der Dienste gibt Ihnen die Flexibilität, andere Transporte als HTTP zu verwenden.

WCF Rückwärtskompatibilität

  • Der Zweck der WCF ist ein einheitliches Programmiermodell für verteilte Anwendungen.
  • Abwärtskompatibilität
  • WCF nutzt alle Funktionen der vorhandenen Technologie-Stacks, ohne sich auf einen davon zu verlassen.
  • Anwendungen, die mit diesen früheren Technologien erstellt wurden, werden auf Systemen mit installierter WCF unverändert weiter ausgeführt.
  • Vorhandene Anwendungen können mit WCF aktualisieren
  • Neue WCF transaktionierte Anwendung wird mit vorhandenen Transaktion Anwendung auf System gebaut arbeiten.Transaktionen

WCF & ASMX Integration

  • WCF verwenden können WS- * oder HTTP-Bindungen mit ASMX-Seiten zu kommunizieren

Einschränkungen von ASMX:

  • Ein ASM X-Seite sagt Ihnen nicht, wie Sie es über die Transporte liefern und eine bestimmte Art von Sicherheit verwenden. Dies ist etwas, das WCF ganz erheblich verbessert.
  • ASMX hat eine enge Kopplung mit der HTTP-Laufzeit und die Abhängigkeit von IIS, um es zu hosten. WCF kann von jedem Windows-Prozess gehostet werden, der das .NET Framework 3.0 hosten kann.
  • Der ASMX-Dienst wird auf Einzelanrufbasis instanziiert, während WCF Ihnen Flexibilität bietet, indem verschiedene Instanziierungsoptionen wie Singleton, private Sitzung pro Anruf bereitgestellt werden.
  • ASMX bietet den Weg zur Interoperabilität, bietet aber keine durchgehende Sicherheit oder zuverlässige Kommunikation.
+0

Danke für die Tiefe! – Xaisoft

3

WCF ist viel breiter gefasst als ASP.Net Web Service.

  • WCF kann in jeder Anwendung ausgeführt werden. APS.Net Webservices laufen nur in IIS.
  • WCF unterstützt Modelle wie ReST, Remoting, SOAP, MSMQ usw. ASP.Net unterstützt nur SOAP
  • WCF ist besser konfigurierbar.
  • WCF unterstützt eine deklarative Art der Programmierung. Sie können mehr mit weniger Code erledigen.
+0

Die Standard-HTTP-Bindings für WCF dienen up Soap 1.2 vs asmx Dienstleistungen Soap 1.1-Implementierung. –

3

ASP.NET-Webdienste sind ziemlich genau das. Internetdienste. Sie basieren auf SOAP/WSDL und stellen ihre Dienste nur für das Web bereit.

WCF-Dienste bieten einen viel flexibleren Rahmen. Je nachdem, wie der Service definiert ist, kann es sich beispielsweise um einen in IIS gehosteten Web-Service handeln, der seine Daten per XML serialisiert und das REST-Modell verwendet ... oder es kann ein Remote-Windows-Service sein, der in seinem eigenen Prozess gehostet wird Serialisiert seine Daten über Binärdateien. All dies wird durch die verschiedenen Service/Data-Verträge in WCF erreicht.

Kurz gesagt ... Sie können einen WCF-Dienst mit einem .NET 2.0-Webdienst relativ einfach aussehen lassen, aber mit ein wenig Arbeit können Sie MEHR VIELES tun.

Verwandte Themen