Nouvelles Chroniques d'Amethyste

Penser au Sens, pas au Verbe

Alors asmx ou svc?

Poster un commentaire

Cet article est le quatrième d’une série:

https://amethyste16.wordpress.com/2013/05/18/programmer-avec-les-services-2/

 Les services Web est une ancienne technologie d’avant l’arrivée de WCF. Le principal avantage des services web est la facilité de mise en œuvre. Pas ou très peu de paramétrage.

Cette technologie est maintenant considérée comme obsolète et il est préférable d’utiliser des services WCF.

Les services WCF remplacent totalement les services Web, mais vont bien au-delà :

·         Hébergement dans d’autres hôtes que IIS ou Was (Console, Winforms, Service Windows…)
Les Service Web sont dépendant de la pile des appels d’Asp.Net.
Vous pouvez vous en convaincre en ajoutant à votre projet HostAsmx un fichier Global.asax et en plaçant un point d’arrêt dans BeginRequest par exemple.
A chaque appel du service le point d’arrêt est invoqué.

Les services WCF emportent leur propre pile d’appel (les bindings) qui est indépendante de l’hôte. Il est toutefois possible d’ajouter à la pile d’appel WCF la pile d’appel Asp.Net en fixant le paramètre de configuration aspNetCompatibilityEnabled à true.

·         Asmx est limité à des connexions http, WCF gère n’importe quel protocole

·         Apports de WCF comme la sécurité, authentification, divers formats de sérialisation…
Je parle d’apports natifs, on peut le faire en Web Service, il faut juste fournir son propre code.
Avec WCF il ne s’agit que d’une question de codage.

·         La sérialisation en WCF est également plus performante que celle des services Web

La vraie difficulté de WCF est celle inhérente à WCF : c’est vite compliqué et verbeux, mais depuis WCF 4.0 de nombreuses possibilités de configurations par défaut permettent de se rapprocher de la simplicité d’asmx.

Si vous souhaitez en savoir plus ce PDF devrait répondre à vos questions :

http://www.bishoylabib.com/2009/08/comparing-asmx-and-wcf.html

Ou encore :

http://blog.psychocoder.net/2011/04/15/differences-between-asp-net-web-service-and-wcf-services-part-ii

 Pour un nouveau projet vous devez donc résolument utiliser svc a priori. Dans le cas où tout cela vous semble compliqué alors que sur le fond seul un environnement Web vous intéresse, penchez-vous vers des frameworks simplificateurs comme les Web Api.

C’est une des nouveautés de .Net.

Publicités

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s