通过往WCF消息头中添加自定义信息,可以用于各种用途,比如可以用于传递AuthKey来判断调用是否合法。
客户端:
using (OperationContextScope scope = new OperationContextScope(iContextChannel))
{
MessageHeader<string> mh = new MessageHeader<string>("abcde");
MessageHeader header = mh.GetUntypedHeader("AuthKey", "http://www.facebuyer.com");
OperationContext.Current.OutgoingMessageHeaders.Add(header);
return func();
}
{
MessageHeader<string> mh = new MessageHeader<string>("abcde");
MessageHeader header = mh.GetUntypedHeader("AuthKey", "http://www.facebuyer.com");
OperationContext.Current.OutgoingMessageHeaders.Add(header);
return func();
}
服务端:
string authKey = string.Empty;
if (OperationContext.Current != null)
{
authKey = OperationContext.Current.IncomingMessageHeaders.GetHeader<string>("AuthKey", "http://www.facebuyer.com");
}
if (OperationContext.Current != null)
{
authKey = OperationContext.Current.IncomingMessageHeaders.GetHeader<string>("AuthKey", "http://www.facebuyer.com");
}