Nun, wenn Sie Ihre Diskussion auf HTTP beschränken, dann gibt es immer noch eine Reihe von Vorteilen, die WCF gegenüber ASMX hat:
- mehr und bessere Sicherheitseinstellungen (Möglichkeit, entweder Transport- oder Nachrichtensicherheit zu verwenden)
- viel mehr Flexibilität - viel mehr kann in WCF konfiguriert und optimiert werden, entweder in Konfigurationsdateien oder im Code
- ASMX-Webdienste können nur innerhalb von IIS existieren - IIS ist eine unabdingbare Voraussetzung; Sie können Ihre WCF-Dienste selbst in einer Konsolenanwendung oder einem Windows NT-Dienst hosten.
- der klare Fokus auf die Verwendung von Service- und Datenverträgen in WCF sorgt für eine viel sauberere Schnittstelle und eine viel bessere Trennung von Belangen (letztendlich besserer Code)
- Unterstützung für Dinge wie zuverlässige Nachrichtenübermittlung und Transaktionsunterstützung (sogar über HTTP)
Kurz gesagt: Auch wenn die Unterschiede geringer sind, wenn man WCF nur auf HTTP beschränkt, halte ich es immer noch für überlegen, und wenn Sie die Wahl haben, heute etwas Neues zu beginnen, verwenden Sie auf jeden Fall WCF statt ASMX!
Rick Strahl drückt es sehr schön aus in seinem Blogbeitrag :
Ich würde behaupten, dass die Verwendung von WCF für alle neuen Dienste wahrscheinlich eine gute Idee ist, selbst wenn Sie bei reinem HTTP und SOAP bleiben, denn wenn Sie Ihren Dienst mit WCF erstellen, können Sie später entscheiden, denselben Dienst mit WAS zu veröffentlichen und auch den leistungsfähigeren TCP/IP-Transport bereitzustellen. Oder Sie könnten gebeten werden, einige der erweiterten Funktionen von WS- Protokolle wie Transaktionen, Anhänge, Sitzungsmanagement, Verschlüsselung usw. Durch die Verwendung von WCF bauen Sie Ihren Dienst mit Blick auf die Zukunft auf, so dass Sie problemlos zu anderen Protokollen übergehen können, von denen einige heute vielleicht noch gar nicht existieren. Sicherlich werden in Zukunft neue Technologien hinzukommen, und WCF bietet Ihnen durch seine Abstraktionsschicht und die gemeinsame API einen gewissen Schutz.
Marc
0 Stimmen
Was bedeutet "stark typisiertes ASMX"?
0 Stimmen
Ja... "strong-typed ASMX" hat mich auch verblüfft. Sind sie nicht alle "strongly-typed"?