如何通过net.tcp绑定在每个WCF调用中附加客户端版本?
我试着像这样附上它:
MessageHeader<string> header = new MessageHeader<string>(SerializeVersion());
MessageHeader untypedHeader = header.GetUntypedHeader(VERSION_HEADER, Namespace);
OperationContext.Current.OutgoingMessageHeaders.Add(untypedHeader);
但不幸的是,OperationContext在第一次通话时不可用......
答案 0 :(得分:0)
如果没有OperationContext,那么创建自己的:
void MyMethod()
{
using (var proxy = new WcfProxy())
{
using (var scope = new OperationContextScope((IContextChannel)proxy))
{
MessageHeader header = MessageHeader.CreateHeader("VERSION_HEADER", "ns", SerializeVersion());
OperationContext.Current.OutgoingMessageHeaders.Add(header);
proxy.ExecuteOperation() // Call you service
}
}
}