2008-09-25 6 views
5

J'ajoute une référence de service à l'un de mes projets dans Visual Studio 2008. Sur l'écran "Paramètres de référence du service", je sélectionne l'option par défaut "Types de réutilisation dans tous les assemblages référencés ". J'ai référencé le projet pour lequel je veux réutiliser un type. Ce type est transmis en tant que paramètre à une méthode Web. Toutefois, lorsque le fichier References.cs est généré, il crée toujours une version proxy dupliquée de ce type. Y a-t-il quelque chose qui me manque? Avez-vous besoin de faire quelque chose de spécial pour le type référencé? Peut-être ajouter des attributs spéciaux?"Réutiliser les types existants" est ignoré lors de l'ajout d'une référence de service

Répondre

6

J'ai répondu à ma propre question (je pense). Ce que j'essayais de faire était d'utiliser une référence de service pour pointer vers un service Web ASP.NET existant, mais la réutilisation de types n'est pas prise en charge pour les services Web old school. Cela ne fonctionne qu'avec les services WCF. J'ai donc franchi le pas et transformé mon service web en un vrai service WCF et maintenant ça marche bien.

5

J'ai eu un problème similaire jusqu'à ce que j'ai défini l'attribut suivant dans le code afin que l'espace de noms des objets liés au contrat de service soit défini sur le même espace de noms que les types communément référencés.

[assembly: ContractNamespace("YOUR_NAMESPACE_HERE")] 
+0

Où avez-vous défini cela? Sur l'interface du service, ou la classe d'implémentation? Les deux me donnent une erreur en disant que c'est un endroit invalide pour mettre l'attribut ... – drozzy

+0

drozzy, l'attribut est la portée de l'assemblage, il doit être placé couramment dans assemblyinfo.cs Mais ce n'est pas aidé pour moi .. – devi

Questions connexes