2009-07-08 9 views
1

Angenommen, ich verwende die Kommunikation von meinem mobilen Gerät zu meinem Server über den WCF-Webdienst. Ich könnte dies auch mit einem Standard-Web-Service tun.Warum verwenden Sie wcf über Webdienste unter .net Compact Framework?

Ich habe die WCF Guidance für Mobile Entwickler (http://wcfguidanceformobile.codeplex.com/) gelesen, die einzige Sache, die ich dort sehe, ist WCF hat SSL-Unterstützung, während gerade Web-Dienste nicht tun.

Nun, ein gültiger Grund könnte sein, dass Sie mehrere Gerätetypen (Desktop, Web, Server-zu-Server, usw.) verwenden möchten, um mit dem Server mit verschiedenen Protokollen zu kommunizieren - das brauche ich nicht . Ich muss nur mit meinem Server von einem mobilen Gerät (. NETCF) sprechen

Antwort

4

John is correct dass ASMX-Web-Services jetzt als Legacy-Technologie gelten. Wenn Sie Code schreiben, der über ein beliebiges Netzwerk mit anderen Prozessen kommuniziert, sollte Ihre Standardwahl WCF lauten.

Wenn Sie mit dem vollständigen .NET Framework (d. H. Auf Servern und Desktops) arbeiten, ist dies immer der Fall. Es kann vorkommen, dass Sie eine andere Technologie (z. B. rohe Sockets) verwenden müssen, aber niemals ASMX.

WCF auf .NET CF ist anders. Es ist ein sehr eingeschränkter WCF-Port, und es gibt Dinge, die Sie mit dem alten Webclient tun können, die Sie nicht mit WCF auf .NET CF ausführen können: Im alten Webclient können Sie Windows-Authentifizierung sowohl mit HTTP als auch verwenden HTTPS. Mit WCF unter .NET CF können Sie nur die Windows-Authentifizierung mit HTTPS verwenden. Dieses spezielle Problem hat uns daran gehindert, WCF auf dem Gerät für Microsoft Dynamics Mobile zu verwenden.

Es gibt einen Grund für diese Einschränkung, da Sie Windows-Authentifizierung mit HTTP in Produktionsszenarien nie verwenden sollten, da der Benutzername und das Kennwort in Klartext übertragen werden, aber wir zu Testzwecken benötigt.

Mit dem Risiko der Angabe der offensichtlichen, möchte ich auch darauf hinweisen, dass, was auch immer Sie in Bezug auf den Code, den Sie für Ihre Geräte schreiben, sollten Sie definitiv mit WCF gehen, wenn Sie auch das Web schreiben Dienste, mit denen die Geräte kommunizieren.

Auch wenn Sie die alte Webclient-Technologie auf .NET CF verwenden, können Sie weiterhin mit WCF-Diensten sprechen. Das haben wir mit Dynamics Mobile gemacht.

Verwandte Themen