我想将WCF消息存储在一些存储中,稍后再阅读它们,以便再次“重放”它们。
附加了一些代码部分:
<代码>
private void writemessage(message message,string path)
{BR/>
filestream filestream=new filestream(path,filemode.create);
使用(xmlDictionaryWriter=xmlDictionaryWriter.CreateBinaryWriter(filestream))
{BR/>
使用(xmlDictionaryReader reader=message.getReaderBodyContents())
{BR/>
message.writeBodyContents(writer);
writer.flush();
}
私有消息自述消息(字符串路径)
{BR/>
使用(filestream fs=file.openread(path))
{BR/>
使用(xmlDictionaryReader reader=xmlDictionaryReader.CreateBinaryReader(fs,xmlDictionaryReaderQuotas.max))
{BR/>
fs.flush();
message message=message.createMessage(reader,int.maxValue,messageVersion);
返回message.createBufacturedCopy(int.maxValue).createMessage();
问题是,在存储消息之前,message.toString()会按它所希望的方式返回整个消息的消息字符串,但在读取消息之后,toString()会将正文显示为“…stream…“就这样。
请宣传
多谢:—)
请注意:在“writemessage”中,只有当消息被包装在另一条消息中时,才会读取和写入正文。
专用void writemessage(消息消息,字符串路径)
{
filestream filestream=新的filestream(path,filemode.create);
使用(xmlDictionaryWriter=xmlDictionaryWriter.CreateBinaryWriter(filestream))
{
使用(xmlDictionaryReader reader=message.getReaderBodyContents())
{
message.writeBodyContents(编写器);
作家FrHuSE();
}
}
}
私人消息自述消息(字符串路径)
{
使用(filestream fs=file.openread(path))
{
使用(xmlDictionaryReader reader=xmlDictionaryReader.CreateBinaryReader(fs,xmlDictionaryReaderQuotas.max))
{
FSH();
message message=message.createMessage(reader,int.maxValue,messageVersion);
返回message.createBufferedCopy(int.maxValue).createMessage();
}
}
}
问题是,在存储消息之前,message.toString()会按它所希望的方式返回整个消息的消息字符串,但在读取消息之后,toString()会将正文显示为“…流……”就这样。
请教
非常感谢:
请注意:在“writemessage”中,只有当消息包装在另一条消息中时,才会读取和写入正文。