【问题标题】:Read WCF Message body twice - "Message Cannot be read"两次读取 WCF 消息正文 - “无法读取消息”
【发布时间】:2011-01-12 04:35:18
【问题描述】:

我有一个 WCF 消息 (Channels.Message),我正在尝试使用 .GetBody() 提取正文。但是,我注意到我只能执行一次,如果我再次尝试使用“GetBody”,我会收到:“此消息无法支持该操作,因为它已被读取。”

知道如何重新阅读邮件正文吗?

谢谢

【问题讨论】:

    标签: wcf message


    【解决方案1】:

    这是一篇关于您在 MSDN 上尝试做什么的非常好的文章。请参阅标题为将消息复制到缓冲区中的部分。它明确谈到必须多次访问消息正文。

    http://msdn.microsoft.com/en-us/library/ms734675.aspx

    【讨论】:

    • 这没有多大帮助....我了解到您只能阅读一次邮件正文,但我在这里找不到 MSFT 逻辑...
    • 文章特别指出...“有时需要多次访问消息正文,例如,将同一消息作为发布者-订阅者系统的一部分转发到多个目的地。在在这种情况下,需要在内存中缓冲整个消息(包括正文)。您可以通过调用 CreateBufferedCopy 来做到这一点。如果您查看本节中的示例代码,它会显示使用 CreateBufferedCopy 多次访问消息正文
    猜你喜欢
    • 2014-05-04
    • 2016-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-17
    • 2016-02-13
    • 1970-01-01
    相关资源
    最近更新 更多