2017-08-08 68 views
0

如何通過net.tcp綁定在每個WCF調用中附加客戶端版本?C#如何將附加信息附加到NetTcpBinding中的每個調用?

我試圖附加這樣的:

 MessageHeader<string> header = new MessageHeader<string>(SerializeVersion()); 
     MessageHeader untypedHeader = header.GetUntypedHeader(VERSION_HEADER, Namespace); 
     OperationContext.Current.OutgoingMessageHeaders.Add(untypedHeader); 

但偏偏的OperationContext不是第一次通話期間可...

回答

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 
    } 
    } 
}