La mise en œuvre actuelleQu'est-ce qu'un type XML approprié pour le service Web?
Sql Server 2005 Base de données avec une table appelée messages avec une colonne appelée MessageXml de type xml.
C# Projet de bibliothèque avec une classe Linq to Sql qui génère une classe appelée Message avec un champ appelé MessageXml de type XElement.
WCF Webservice qui expose une classe MessagePayload avec une propriété appelée MessageXml de type XElement.
Le service Web ne sert pas ma classe Message créée par Linq à Sql. J'utilise un objet léger entre les deux.
Question
Est-XElement vraiment le type que je veux être en utilisant dans mon service WCF ou est-il un meilleur type. Le fichier XML qui doit être transmis au service doit être un document complet. En outre, j'ai un peu de mal à charger des documents XML en tant que XElement. Je pense que je devrais exposer un type de document xml complet dans la classe de poids léger pour le service, mais je suis un peu confus sur les différences entre XDocument et XmlDocument. De plus, je ne peux pas exposer la classe WCF Message avec une propriété de type XDocument car elle contient une propriété de type XDeclaration qui ne peut pas être sérialisée.
Si j'utilise XmlDocument que je dois faire cette étrange conversion de types xml dans ma traduction entre la classe Linq et la classe légère.
XmlDocument doc = new XmlDocument();
doc.LoadXml(message.MessageXml.ToString());
MessageEnvelope retVal = new MessageEnvelope()
{
MessageXml = doc,
};
XmlDocument semble être la bonne et je sais que je vais devoir faire une traduction, mais veulent se rapprocher de s'approprier que possible.
-1: XML n'est pas la même chose qu'une chaîne. Ne l'utilisez pas pour représenter XML. –
Je suis conscient, c'est pourquoi vous devez le valider avant et après la conversion pour la sérialisation ... – marr75