用OperationContext.Current.IncomingMessageHeaders得到从客户端收到的消息头
1.修改Server端的MyService
public string TestMethod()
{
//用指定的localName和URI查找标头位置
int index = OperationContext.Current.IncomingMessageHeaders.FindHeader("header", "http://my");
if (index != -1)
{
//查找特定位置的标头
string hd = OperationContext.Current.IncomingMessageHeaders.GetHeader<string>(index);
return "收到的标头:"+ hd;
}
return "未收到";
}
2.修改Client端
WS.ServiceClient client = new WS.ServiceClient();
using (OperationContextScope scope = new OperationContextScope(client.InnerChannel))
{
MessageHeader myHeader = MessageHeader.CreateHeader(
"header", "http://my", "你好,这是消息头。");
OperationContext.Current.OutgoingMessageHeaders.Add(myHeader);
string msg = client.TestMethod();
textBox1.AppendText(msg + "\r\n");
}
3.运行
参考自http://blog.csdn.net/tcjiaan/article/details/7846667
推荐原作者的传说中的WCF系列
前置代码参考 WCF手动搭建 HelloWorld