J'ai un service Web conçu pour accepter les données de performance via un objet personnalisé. L'objet personnalisé contient une collection (liste générique) de mesures de performance parmi d'autres données. La mesure de performance consiste en des types de données simples (chaînes, entiers et un datetime). La seule méthode exposée par le service Web nécessite la transmission de cet objet personnalisé (objet de données de performance).Consommation d'objets personnalisés entre les services Web
Le problème réside dans l'utilisation externe de cet objet personnalisé. Je souhaite utiliser les méthodes Add() et Item() de la classe Generic List avec diverses autres fonctionnalités de cette classe dans un autre service Web. Si je demande l'objet à partir du Webservice Performance Data, il séralise la collection interne en une liste de tableaux. Je voudrais qu'il reste une collection générique. J'ai essayé d'utiliser la méthode XmlInclude, mais je n'ai pas trouvé de solution pour le moment. La chose suivante que j'ai essayé de faire était de créer un ensemble de cet objet spécifique que le service Web de données de performance peut utiliser et tous les programmes satellites (c'est-à-dire un autre service web). Le problème ici est que lorsque j'essaie de transmettre l'objet personnalisé créé par l'assembly séparé, le service Web de données de performances abaisse son type différent. (J'applique également l'attribut XmlInclude (GetType (assembly personnalisé)) à la méthode exposée). Cependant, pense toujours que les types ne sont pas convertibles.
Remarque: Je préférerais appeler Performance Data WS pour obtenir l'objet personnalisé au lieu d'avoir à traiter de l'ajout d'assemblys à chaque projet ayant besoin d'un accès.
Quelqu'un at-il une idée autre que de restructurer le programme pour qu'il fonctionne avec les méthodes exposées par ArrayList?
Les services Web ne sont pas destinés à transmettre des objets personnalisés, en fait, ils seront sérialisés aux types standard XML. – shivaspk
J'ai posté la solution ci-dessous. –