gpt4 book ai didi

c# - 创建 WCF 消息的缓冲副本

转载 作者:太空狗 更新时间:2023-10-30 00:26:38 27 4
gpt4 key购买 nike

我在消息检查器中有以下代码来检查响应正文。我知道 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;

此外,我对在那里使用 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;

关于c# - 创建 WCF 消息的缓冲副本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10283528/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com