我正在尝试使用需要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,所以我的问题是如何将这些头文件注入到消息中?
答案 0 :(得分:3)
您是否为OperationContext创建了对象?
尝试将您的添加标题代码放入
using (OperationContextScope scope = new OperationContextScope(((IContextChannel) proxy))
{
// your code to add custom header
}
希望它有所帮助...... !!!