2008-08-13 9 views
0

J'ai un service WCF que je dois référencer à partir d'un projet .net 2.0.Compatibilité ascendante WCF Problème

J'ai essayé de faire référence à l'aide de la méthode "ajout de la référence Web", mais cela perturbe les paramètres. Par exemple, j'ai une méthode dans le service qui s'attend à recevoir un char[], mais lorsque j'ajoute la référence Web, la méthode attend un int[].

Alors j'ai essayé de configurer svcutil et cela a fonctionné ... en quelque sorte.
Je ne pouvais obtenir la classe de service à compiler en ajoutant un tas de .net 3.0 références à mon projet .net 2.0. Cela ne s'est pas bien passé avec l'architecte, donc j'ai dû le faire (et probablement pour le meilleur aussi).

Je me demandais si quelqu'un a des pointeurs ou des ressources sur la façon dont je peux configurer un .net 2.0 projet pour faire référence à un service WCF.

Répondre

2

Une de ces instances dont vous avez besoin pour modifier le fichier WSDL. Pour commencer un outil utile

http://codeplex.com/storm

0

Merci pour la ressource. Cela m'a certainement aidé à tester le service web, mais cela n'a pas beaucoup aidé à utiliser le service WCF dans mon application .net 2.0. Ce que j'ai finalement fini par faire était de retourner aux architectes et d'expliquer que les dll 3.0 que j'avais besoin de référence ont été compilés pour fonctionner sur le 2.0 CLR. Nous n'aimons pas nécessairement la solution, mais nous allons l'utiliser pour l'instant car il ne semble pas y avoir trop d'alternatives viables

1

Quelle liaison utilisez-vous - je pense que si vous vous en tenez au basicHttp liaison vous devriez être en mesure de générer un proxy en utilisant l'approche "ajouter une référence Web" d'un projet .net 2? Peut-être que si vous publiez la définition de contrat/d'interface, cela pourrait peut-être vous aider?

Vive Richard

0

j'utilisais le basicHttp contraignant mais le problème était en fait avec le XMLSerializer. Il ne reconnaît pas correctement le wsdl généré par WCF (même avec les liaisons basicHttp) pour autre chose que les types de valeur de base.

Nous avons contourné ceci en ajoutant la référence aux DLL 3.0 et en utilisant le sérialiseur de contrat de données.