我使用以下代码添加 WCF 自定义标头
MessageHeader header = MessageHeader.CreateHeader("Key", "ns", "Value");
OperationContext.Current.OutgoingMessageHeaders.Add(header);
对此我还想补充一点
xmlns:wsa="http://www.w3.org/2005/08/addressing"
wsa:IsReferenceParameter="1"
作为此消息标头的属性。
有什么方法可以将上述命名空间和属性添加到消息头中吗?
我找到了解决方案。
我们必须实现自定义标头,它继承自 Message Header 类。
MessageHeader 类确实有方法OnWriteStartHeader()
。我们可以在此方法中添加 xml 命名空间。
此外,我们还必须重写 OnWriteHeaderContents() 方法并写入我们想要的 xml 或值作为 MessageHeader。
准备好后,在 request.Header.Add() 中添加消息头时,传递我们的自定义标头类的对象。
请参阅以下链接了解更多详细信息。
http://www.netframeworkdev.com/windows-communication-foundation/messageheader-serializer-how-to-use-attributes-52827.shtml http://www.netframeworkdev.com/windows-communication-foundation/messageheader-serializer-how-to-use-attributes-52827.shtml
http://social.msdn.microsoft.com/forums/en-US/wcf/thread/c2a39df8-3943-4c41-acca-6da8e96f0dff http://social.msdn.microsoft.com/forums/en-US/wcf/thread/c2a39df8-3943-4c41-acca-6da8e96f0dff
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)