Я пытаюсь использовать этот простой код в WCF:
Клиентская сторона:
ServiceContractClient proxy = new ServiceContractClient();
using (OperationContextScope scope = new OperationContextScope((IContextChannel)proxy.InnerChannel))
{
MessageHeaders messageHeadersElement = OperationContext.Current.OutgoingMessageHeaders;
messageHeadersElement.Add(MessageHeader.CreateHeader("username", String.Empty, System.Security.Principal.WindowsIdentity.GetCurrent().Name));
}
var res = proxy.CallWCFMethod();
Сторона сервера:
CallWCFMethod реализует другой метод, GetInfo (). Код для GetInfo ():
MessageHeaders messageHeadersElement = OperationContext.Current.IncomingMessageHeaders;
int AdidIndex = messageHeadersElement.FindHeader("username", string.Empty);
string ticket = messageHeadersElement.GetHeader<string>("username", string.Empty);
Но этот код никогда не сможет найти заголовок "username", который я добавил в клиент. Может кто-нибудь указать мне, что я здесь делаю неправильно?