gpt4 book ai didi

.net - 此消息无法支持操作,因为它已被复制

转载 作者:行者123 更新时间:2023-12-01 12:56:34 24 4
gpt4 key购买 nike

你好,

我在 WCF 中得到以下异常:This message cannot support the operation because it has been copyed.

我正在使用 CustomMessageInspector,这就是我处理传入消息的方式:

private long DetermineAndLogMessageDiagnostics(Message message)
{
MessageBuffer buffer;
Message bufferMessage;

if (!message.IsFault && !message.IsEmpty)
{
buffer = message.CreateBufferedCopy(Int32.MaxValue);
bufferMessage = buffer.CreateMessage();

var messageBodyReader = bufferMessage.GetReaderAtBodyContents();
var messageBody = messageBodyReader.ReadOuterXml();

double bodySizeInBytes = Encoding.UTF8.GetByteCount(messageBody);

return long.Parse(Math.Ceiling(bodySizeInBytes / 1024).ToString());
}
return 0;
}

根据 MSDN 页面,这是执行此操作的方法 (CreateBufferedCopy),但我仍然遇到异常。如果我将此方法注释掉,一切正常吗?

有什么想法吗?

最佳答案

这是因为一条消息的生命周期只有一次使用。查看邮件内容或将内容复制到某处后,您将无法再次阅读该邮件。

private long DetermineAndLogMessageDiagnostics(Message message)
{
buffer = message.CreateBufferedCopy(Int32.MaxValue);

// Do something with the copied message

reply = buffer.CreateMessage();
buffer.Close();
}

关于.net - 此消息无法支持操作,因为它已被复制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9518941/

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