Behalten Sie Leerzeichen / Zeilenumbrüche bei, wenn Sie über den ASMX-Webdienst serialisieren
Ich arbeite an der Vorverarbeitung eines XML-Dokuments in einem ASMX-Webservice (Legacy .NET SOAP Service) für die spätere Verwendung in einem Silverlight-Front-End.
Ich verarbeite dieses XML-Dokument zur Vereinfachung der Verwendung in ein POCO-Objekt. Das Objekt ist wie folgt definiert:
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
}
Die Text-Eigenschaft in diesem Objekt enthält grundsätzlich formatierten Text (Zeilenumbrüche, Leerzeichen usw.). Der XML-Knoten, der diese Eigenschaft versorgt, sieht folgendermaßen aus:
<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>
Alles ist in Ordnung und das Format wird beibehalten, wie ich es erwarten würde, bis die Webdienste die an das Front-End zu sendenden Daten serialisieren. Ich vermute, dass bei dem Versuch, die Bandbreite zu optimieren, das serialisierte Objekt die zusätzlichen Leerzeichen und Zeilenumbrüche aus der Text-Eigenschaft entfernt, bevor es gesendet wird. In diesem speziellen Fall ist diese Formatierung wichtig. Gibt es eine Möglichkeit, den Webservice zu zwingen, diese Formatierung für Leerzeichen / Zeilenumbrüche beizubehalten?
Ich stelle mir vor, dass ich die fraglichen Elemente durch Code ersetzen und dann im Frontend zurückkonvertieren würde, aber das kommt mir ein bisschen kludge vor.