84 votes

WCF : WTF ! WCF soulève la barre ou juste le niveau de complexité ?

Je comprends la valeur des trois-partie de service/accueil/client modèle offert par la WCF. Mais est-ce juste moi ou il semble WCF a eu quelque chose d'assez direct et simple (ASMX modèle) et fait un gâchis?

Est-il une alternative à l'utilisation de SvcUtil ligne de commande du pas en arrière dans le temps pour générer le proxy? Avec ASMX services d'un harnais de test est automatiquement fourni; est-il une bonne alternative aujourd'hui avec WCF?

J'apprécie que le WS* stuff est plus étroitement intégré avec WCF et l'espoir de trouver quelques gains pour WCF là, mais geeze, sinon, je suis perplexe.

Aussi, l'état des livres disponibles pour WCF est insondable, au mieux. Juval Lowy, un superbe auteur, a écrit une bonne O'Reilly livre de référence "la Programmation des Services WCF", mais il ne fait que beaucoup (pour moi en tout cas) pour l'apprentissage de l'utilisation de WCF. Ce livre est précurseur (et un peu mieux organisé, mais pas trop, comme un tutoriel) est Michèle Leroux Bustamante d'Apprentissage, de la WCF. Il a de bons spots, mais elle est dépassée en place et de son site Web correspondant est allé.

Avez-vous de bonnes WCF références d'apprentissage en continuant à Google le bejebus de choses?

Merci, rp

61voto

Scott Anderson Points 7522

Bon, nous y voilà. Tout d'abord, Michèle Leroux Bustamante du livre a été mis à jour pour VS2008. Le site web du livre n'est pas disparu. C'est maintenant, et il a des tonnes de WCF info. Sur ce site, elle fournit des mises à jour de code compatible avec VS2008 pour tous les exemples dans son livre. Si vous commandez sur Amazon, vous obtiendrez la réimpression qui est mis à jour.

WCF est pas seulement un remplacement pour ASMX. Sûr qu'il peut (et très bien) remplacer ASMX, mais le vrai avantage est qu'il permet à votre services auto-hébergés. La plupart des fonctionnalités de WSE a été cuites dans, depuis le début. Le cadre est hautement configurable, et la capacité à servir de plusieurs points de terminaison sur plusieurs protocoles est incroyable, de l'OMI.

Alors que vous pouvez toujours générer des classes proxy "Ajouter une Référence de Service" option, il n'est pas nécessaire. Tout ce que vous avez à faire est de copier votre ServiceContract de l'interface et de dire à votre code où les trouver le point de terminaison du service, et c'est tout. Vous pouvez appeler les méthodes du service avec très peu de code. En utilisant cette méthode, vous avez le contrôle complet sur la mise en œuvre. Quelle que soit la méthode que vous choisissez de générer une classe proxy, Michele montre à la fois et utilise à la fois dans son excellente série de webémissions sur le sujet.

Michele a des tonnes de matériel là-bas, et je vous recommande de consulter son site(s) web. Voici quelques liens qui ont été incroyablement utile pour moi alors que j'étais à l'apprentissage de la WCF. J'espère que vous arriverez à comprendre comment forte WCF est vraiment, et comment il est facile à mettre en œuvre. La courbe d'apprentissage est un peu raide, mais les récompenses pour votre investissement en vaut la peine:

Je vous recommande de regarder au moins 1 de Michele diffusées sur le web. Elle est très efficace presenter, et elle est évidemment incroyablement bien informé quand il s'agit de la WCF. Elle fait un excellent travail de démystifier les rouages de la WCF à partir du sol.

15voto

14voto

Saab Points 423

Je vais avoir un hardtime à voir quand faut-il ou serait-utiliser WCF. Pourquoi? Parce que j'ai mis de la productivité et de la simplicité au sommet de ma liste. Pourquoi était-ASMX modèle couronné de succès, car il a travaillé, et vous obtenez de travailler rapidement. Et avec VS 2005 et .NET 2.0 wsdl.exe a cracher assez agréable et des services conformes aux normes.

Dans la vraie vie, vous devriez avoir très peu de protocoles de communication dans votre architecture. De sorte qu'il soit simple et facile à gérer. Si vous avez besoin de l'accès aux systèmes hérités, écrire des adaptateurs spécifiques pour eux afin qu'ils puissent jouer en même temps dans la belle, brillante et belle SOA monde.

13voto

Karl Points 302

WCF est beaucoup plus puissant que ASMX et il s'étend de plusieurs manières. ASMX est limitée à seulement HTTP, alors que WCF peut utiliser plusieurs protocoles de communication (accordée, HTTP est encore le moyen le plus les gens vont l'utiliser, au moins pour les services qui doivent être interopérables). WCF est aussi plus facile à étendre. Au moins, il est possible d'étendre de manière ASMX ne peut pas être prolongé. "Facile" peut être l'étirant. =)

Les fonctionnalités supplémentaires offertes par la WCF l'emporte de loin sur la complexité, il ajoute, à mon avis. J'ai aussi l'impression que le modèle de programmation est plus facile. DataContracts sont beaucoup plus agréable que d'avoir à sérialiser en utilisant la sérialisation XML avec des propriétés publiques pour tout, par exemple. Il est aussi beaucoup plus déclaratif dans la nature, qui est aussi belle.

6voto

Quibblesome Points 14441

Attendez... avez-vous jamais utiliser .NET Remoting, parce que c’est la vraie chose son remplaçant. .NET remoting est assez compliquée en soi. Je trouve plus facile et mieux aménagé de WCF.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X