One-Liner: Wenn Sie bereits einen Arbeitscode haben und es riskant ist, ihn auf eine andere Technologie zu verschieben, bleiben Sie mit dem Arbeitscode.
Hängt ab, wer antwortet.
Die Web-API umfasst HTTP und bietet Flexibilität, die mit ASMX und WCF nicht möglich ist. Wenn Sie sich für HTTP, Content-Negotiation, Medientypen interessieren, müssen Sie Ihren Service von jedem Client (einschließlich AJAX) und dann von der Web-API aus aufrufen.
Wenn Sie WS * -Sicherheitsstandards (z. B. mit X509-Zertifikaten, ADFS usw.) verwenden müssen, ändern Sie möglicherweise Ihre Bindung, dienen Sie verschiedenen Clients mit verschiedenen Bindungen, Erweiterbarkeit usw. WCF verwenden.
Wenn Sie bereits einen funktionierenden Code haben und alles, was Sie interessieren, ist RPC und Ihre Kunden werden immer ASMX verwenden und dann bei ASMX bleiben.
Leistung
Keine Benchmark aber mein Bauchgefühl, in absteigender Reihenfolge: Web-API, ASMX, WCF
Einfachere
In absteigender Reihenfolge: ASMX (da Sie es wissen), Web-API, WCF
Schnellere Entwicklung
Wenn Sie sie alle, Web-API und ASMX wissen dann WCF
PS: Es ist gut, neue Technologien zu erlernen. So wie die Dinge laufen (und da Sie bereits zu Azure wechseln), ist es wichtig, in neue Technologien zu investieren.
Ich stimme für ServiceStack - http://www.servicestack.net – Phill