代码之家  ›  专栏  ›  技术社区  ›  Tamir

在wcf服务的iparameterinspector.beforecall()处复制requestMessage

  •  1
  • Tamir  · 技术社区  · 15 年前

    我有WCF服务 IParameterInspector 类,该类假定为每个传入消息存储消息。我需要从输入参数中提取值。

    为了得到我想要的信息

    块引用 operationContext.current.requestContext.requestMessage 块引用

    而不是打电话给 CreateBufferedCopy() 方法创建一个副本,以便我可以处理(读取)消息并将其转发,但我收到以下错误:
    “此邮件无法支持该操作,因为它已被读取。”

    有什么想法吗? 多谢!

    1 回复  |  直到 14 年前
        1
  •  3
  •   SliverNinja - MSFT    14 年前

    IParameterInspector 被解雇了 之后 数据协定/XML序列化程序已读取消息,因此消息正文已被使用。

    如果要获取原始输入消息,则应在 IDispatchMessageInspector 相反,做一个 buffered copy 以便您仍可以将其传递到WCF管道的更深处。

    推荐文章