class MyCommonClass
{
//properties
}
Cette classe doit être accessible àpartage classe commune dans le projet WCF
- projet de service
- projet WCF-client
- l'autre pour lequel ils sont des références. Dans ce projet commun je ne peux pas générer de servicereferences.
Je pense, je pourrais ne pas générer MyCommonClass
dans ServiceReferences
mais comment marquer la classe pour être non sérialisable? Dans les propriétés, il y a IgnoreDataMemberAttribute
. J'ai aussi essayé la réutilisation MyCommonClass de type projet commun situé dans, mais il est encore généré
MISE À JOUR
En d'autres mots: si un type est utilisé dans ServiceOperation il est généré automatiquement dans le document WSDL. Comment le désactiver? (Je ne le veux pas du coté de wcf-client)
MyCommonClass est utilisé dans certaines classes abstraites etc, qui ne sont pas supportées par le document wsdl (les classes abstraites sont générées dans wsdl comme les classes standard). De plus, ces classes abstraites et leurs dérivées ne sont pas utilisées dans la méthode ServiceOperation, elles ne peuvent donc pas être générées dans le document wsdl mais marquées comme OperationContract – Saint
WCF est une abstraction sur une architecture client/service basée sur un message. Ce n'était pas un design en tant que framework orienté objet distribué, c'est pourquoi les types abstraits ne sont pas vraiment supportés. L'approche que vous essayez est mal prise en charge dans WCF. Pensez à WCF comme une abstraction orientée objet sur un modèle d'échange de messagerie XML (soap). Vous essayez de pousser une abstraction orientée objet à travers un modèle d'échange de messages XML. –
Vous ne comprenez pas. Je sais cela. Je ne vais pas pousser la structure abstraite sur wcf. J'ai besoin de partager une classe dans un projet commun et je ne voudrais pas sérialiser ce type de document wsdl. Je cherche de tels attributs ou d'une autre manière – Saint