如何将MessageHeaders注入WCF调用

时间:2014-09-17 08:28:08

标签: c# wcf

我正在尝试使用需要MessageHeaders的WCF服务。我可以创建标题,也可以在服务上调用方法

            factory = new ChannelFactory<IMyService>("*");
            proxy = factory.CreateChannel();

            var ns = "http://www.myNamespace/...";
            var header = MessageHeader.CreateHeader("Username", ns, "foo");

            // Current is null <--
            OperationContext.Current.OutgoingMessageHeaders.Add(header);


            return proxy.CallMyMethod();

问题是OperationContext中的Current是null,所以我的问题是如何将这些头文件注入到消息中?

1 个答案:

答案 0 :(得分:3)

您是否为OperationContext创建了对象?

尝试将您的添加标题代码放入

  using (OperationContextScope scope = new OperationContextScope(((IContextChannel) proxy))
  {
          // your code to add custom header
  }

希望它有所帮助...... !!!