2011-01-21 5 views
1

Nous avons 2 projets dans notre société, le 2ème appelle le 1er via le service WCF hébergé par le site web ASP.NET.Comment utiliser le service WCF

Mon idée était de déployer asp.net avec le service WCF hébergé et la 2ème équipe ajoutera une référence de service à son projet. et l'utilisation de classes générées automatiquement va instancier le client pour le service et appeler ses méthodes. Mais, ils m'obligent à créer une DLL qui contiendra une interface (contrat) implémentée par le service WCF et ils vont ajouter une référence à ces DLL. Et seulement en utilisant cette interface de dll ils vont communiquer.

Quelle est l'approche correcte pour «consommer» le service WCF?

P.S. J'ai beaucoup lu sur la façon de consommer/héberger le service WCF, mais je peux toujours voir la meilleure approche pour cela.

P.P.S. Nous travaillons sous VS 2008, .NET 3.5, mais les idées pour VS2010 et .NET 4.0 sont également les bienvenues.

Répondre

1

Alors l'équipe 2 vous demande de créer une implémentation client qu'ils peuvent inclure dans leur projet? On dirait de la paresse pour moi. Il semble que vous ayez besoin de définir la stratégie SOA de votre entreprise. S'il n'y a pas de stratégie (ou l'espoir d'en obtenir un). L'équipe 2 devrait créer son propre projet, avec une façade sur laquelle elle pourra se référer si nécessaire.

+0

Non, ce n'est pas un cas de paresse. Ils ont une politique pour utiliser les services en tant qu'assemblages seulement ... Oui, ils peuvent créer ces assemblages eux-mêmes. Pour moi maintenant est une question: quelle est une meilleure pratique pour gérer de telles choses. L'approche suggérée par Pratik (ils utiliseront wsdl) est bonne pour moi. Mais pour le moment, je ne sais pas comment ils vont le consommer (j'ai besoin de Google pour cela encore) – Budda

1

Il est trivial de générer une DLL de proxy client pour la 2ème équipe. Utilisez l'outil de ligne de commande svcutil dans Windows SDK pour générer une classe proxy, puis utilisez msbuild pour générer un proxy dll. Cela peut même être automatisé dans votre processus de construction et la DLL est déposée à un emplacement partagé connu sur chaque build. Cela dit, ce n'est pas la meilleure pratique pour la SOA, comme pour la SOA, le WSDL devrait définir l'interface et c'est ce que vous devriez fournir à la 2ème équipe. Cela peut être via une URL ou en tant que fichier déposer.

+0

Comment peuvent-ils consommer mon wsdl? – Budda

+0

Comme il s'agit d'un projet .Net, ils doivent utiliser svcutil pour créer le fichier proxy client et l'ajouter à leur projet. Cela peut être fait comme une étape de pré-construction en utilisant un fichier batch simple qui appelle svcutil. – softveda

Questions connexes