通过往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 " );
}