Je suis totalement confus entre les services Web WCF et ASMX. Auparavant, j’avais utilisé de nombreux services Web et voici qu’un nouveau produit, appelé WCF, a été introduit. Je peux toujours créer un WCF fonctionnant comme un service Web. Je pense qu'il y aura plus de choses dans la WCF.
Quelles sont les différences entre WCF et les services Web? Quand faut-il utiliser chacun?
Keith Elder compare bien ASMX à WCF ici. Vérifiez-le.
Une autre comparaison entre ASMX et WCF peut être trouvée ici - Je ne suis pas totalement d'accord avec tous les points qui y figurent, mais cela pourrait vous donner une idée.
WCF est fondamentalement "ASMX sur Stereoids" - il peut être tout ce que ASMX pourrait - plus beaucoup plus! .
ASMX est:
WCF peut être:
En bref: WCF est là pour remplacer complètement ASMX.
Découvrez le Centre de développement WCF sur MSDN .
Mise à jour: le lien semble être mort - essayez ceci: Qu'est-ce que Windows Communication Foundation?
Les services Web ASMX ne peuvent être appelés que par HTTP (service Web traditionnel avec .asmx). Alors que WCF Service ou un composant WCF peut être appelé par n’importe quel protocole (tel que http, tcp, etc.) et n’importe quel type de transport.
Deuxièmement, les services Web ASMX ne sont pas flexibles. Cependant, les services WCF sont flexibles. Si vous créez une nouvelle version du service, vous devez simplement exposer une nouvelle fin. Par conséquent, les services sont agiles et constituent une approche très pratique pour analyser les tendances commerciales actuelles.
Nous développons WCF en tant que contrats, interfaces, opérations et contrats de données. En tant que développeur, nous nous concentrons davantage sur les services de logique métier et ne nous inquiétons pas de la pile de canaux. WCF est une API de programmation unifiée pour tout type de services. Nous créons donc le service et utilisons les informations de configuration pour configurer le mécanisme de communication tel que HTTP/TCP/MSMQ, etc.
C'est une très vieille question, mais je ne pense pas que les avantages d'ASMX ont été décrits de manière fidèle. Bien que peu flexibles, les services Web ASMX sont très simples à utiliser et à comprendre. Alors que WCF est plus flexible, il est également plus complexe de se lever et de configurer.
Les services Web ASMX sont prêts à fonctionner et à être ajoutés en tant que référence de service Web dès que vous ajoutez le fichier. (en supposant que votre projet se construit)
Pour le simple processus de développement de create webservice
-> run webservice
-> add webservice reference
, un service Web ASMX a très peu de problèmes, mais pas beaucoup de problèmes de configuration, et c’est sa force.
En réponse à ceux qui affirment que WCF remplace ASMX, je répondrais que WCF aurait besoin d'ajouter un K.I.S.S. simplifié. mode de configuration afin de remplacer complètement ASMX.
Exemple web.config pour un service Web ASMX:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings />
<system.web>
<compilation targetFramework="4.5" />
<httpRuntime targetFramework="4.5" />
</system.web>
</configuration>
WCF remplace complètement les services Web ASMX. ASMX est l'ancienne méthode de services Web et WCF, la méthode actuelle de services Web. Tout nouveau développement de service Web SOAP, sur le client ou le serveur, doit être effectué à l'aide de WCF.
Il y a beaucoup de discussions en cours sur la simplicité des services Web asmx via WCF. Permettez-moi de clarifier quelques points ici.
N'oublions pas que j'étais l'un de ceux qui aimaient davantage les services asmx que la WCF, mais à cette époque, je ne connaissais pas bien les services et leurs capacités. J'avais peur des configurations WCF. Mais j’ai osé et essayé d’écrire quelques services de la WCF, et quand j’en ai appris davantage sur la WCF, je n’ai plus aucune inhibition à l’égard de la WCF et je les recommande à tout le monde. Bonne codage !!!