gpt4 book ai didi

.net - WCF Message.ToString() 方法如何工作?

转载 作者:行者123 更新时间:2023-12-04 00:25:49 24 4
gpt4 key购买 nike

System.ServiceModel.Channels.Message上的所有方法只允许您阅读消息正文一次,如果在阅读消息后调用,则会失败并抛出异常。 msdn 文档确认只能读取消息正文之一。但是,如果您调用 ToString()在已阅读的消息中,您似乎取回了整个肥皂信封、正文和所有内容。

因此,在我的情况下,如果只有方法允许,即使在读取正文之后似乎也可以访问正文。

我在这里缺少什么吗?正在使用 ToString()作为在某些情况下使 body 不可靠的变通方法?

就我而言,我正在为一些 WCF 操作记录一些错误,并从 OperationContext.RequestContext.RequestMessage 获取原始消息。 .我正在使用 ToString() 记录消息因为这是我能找到允许我记录消息正文的唯一方法。

最佳答案

ToString 可能会打印消息正文,但这不能保证。 Message的种类很多对象(它是一个抽象类)。其中一些缓冲整个正文,而另一些则只有一个仅向前的阅读器。缓冲消息的消息实现可能会在 ToString 时写入正文被称为,这就是你所看到的。但这并不保证适用于所有消息类型。在许多情况下,当 ToString 时,正文只是简单地写成“...stream...”。叫做。

关于.net - WCF Message.ToString() 方法如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11976561/

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