Я хочу сохранить сообщения WCF в некотором хранилище и прочитать их позже, чтобы «воспроизвести» их снова.
Прикреплены некоторые части кода:
private void WriteMessage(Message message, string path)<br>
{<br>
FileStream fileStream = new FileStream(path, FileMode.Create); </p>
<p>using (XmlDictionaryWriter writer = XmlDictionaryWriter.CreateBinaryWriter(fileStream))<br>
{<br>
using (XmlDictionaryReader reader = message.GetReaderAtBodyContents())<br>
{<br>
message.WriteBodyContents(writer);<br>
writer.Flush();<br>
}<br>
}<br>
} </p>
<p>private Message ReadMessage(string path)<br>
{<br>
using (FileStream fs = File.OpenRead(path))<br>
{<br>
using (XmlDictionaryReader reader = XmlDictionaryReader.CreateBinaryReader(fs, XmlDictionaryReaderQuotas.Max))<br>
{<br>
fs.Flush();<br>
Message message = Message.CreateMessage(reader, int.MaxValue, messageVersion);<br>
return message.CreateBufferedCopy(int.MaxValue).CreateMessage();<br>
}<br>
}<br>
}<br>
Проблема в том, что перед сохранением сообщения Message.ToString () возвращает строку сообщения, как и должно быть, все сообщение,но после прочтения ToString () показывает тело как "... stream ..." и все.
пожалуйста, советуйте
Большое спасибо: -)
Обратите внимание: в «WriteMessage» только тело читается и записывается, поскольку сообщение помещается в другое сообщение.