我在消息检查器中有以下代码来检查响应正文.我知道WCF消息只能读取一次所以我先创建一个副本.但是使用以下代码我仍然会收到错误"此消息无法支持操作,因为它已被读取."...我错过了什么?
MessageBuffer buffer = message.CreateBufferedCopy(Int32.MaxValue);
Message copy = buffer.CreateMessage();
message = copy;
XmlDictionaryReader bodyReader = copy.GetReaderAtBodyContents();
bodyReader.ReadStartElement("Binary");
byte[] bodyBytes = bodyReader.ReadContentAsBase64();
string messageBody = Encoding.UTF8.GetString(bodyBytes);
return messageBody;
Run Code Online (Sandbox Code Playgroud)
我也觉得在那里使用Int23.MaxValue感觉不舒服.什么是合理的尺寸?
试试这段代码:
MessageBuffer buffer = message.CreateBufferedCopy(Int32.MaxValue);
message = buffer.CreateMessage();
var copy = buffer.CreateMessage();
XmlDictionaryReader bodyReader = copy.GetReaderAtBodyContents();
bodyReader.ReadStartElement("Binary");
byte[] bodyBytes = bodyReader.ReadContentAsBase64();
string messageBody = Encoding.UTF8.GetString(bodyBytes);
return messageBody;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7025 次 |
| 最近记录: |