Je réalise un pré-traitement d'un document XML dans un service Web ASMX (Legacy .NET SOAP Service) pour une utilisation ultérieure dans un frontal Silverlight.Conserver les espaces/sauts de ligne lors de la sérialisation via le service Web ASMX
Je suis en train de traiter ce document XML dans un objet POCO pour en faciliter l'utilisation. L'objet est défini comme suit:
public class CACDocument : ITextDocument
{
#region Properties
public string Title { get; set; }
public string Text { get; set; }
public List<Code> CodeList { get; set; }
public XElement FormatedText { get; set; }
#endregion
#region Constructor
public CACDocument()
{
CodeList = new List<Code>();
}
#endregion
}
La propriété Text dans cet objet contient du texte essentiellement formaté (sauts de ligne, espace blanc, etc ...). Le noeud XML qui alimente cette propriété ressemble à ceci:
<text>
A TITLE FOLLOWED BY two line breaks
Some text followed by a line break
Some more text that might extend for a paragraph or two followed by more line breaks
Still more text
</text>
Tout est très bien et le format est maintenu comme j'attendre jusqu'à unitl les services Web sérialise les données à envoyer vers l'avant. Je suppose que dans le but d'optimiser la bande passante, l'objet sérialisé supprime les espaces et les sauts de ligne supplémentaires de la propriété Text avant de l'envoyer. Dans ce cas particulier, ce formatage est important. Existe-t-il un moyen de forcer le webservice à maintenir ce formatage espace/saut de ligne? J'imagine que je code un peu de codage pour les éléments en question, puis je me reconvertis sur le front-end, mais cela me semble un peu un kludge.
Quel est l'effet de toutes ces sections CData attachées au document? Et, est-ce thread-safe? –
Pour être honnête, je n'ai aucune idée ... peut-être que le XmlDocument devrait être une variable locale à la place, je voulais juste éviter de créer de nombreuses instances de XmlDocument. –