может кто-нибудь помочь, я пытаюсь вызвать службу отдыха через фабрику каналов, но отправляю свои учетные данные ... Служба отдыха использует проверку подлинности Windows.
Но с помощью следующего кода я получаю "Ручная адресацияна этой фабрике включен, поэтому все отправленные сообщения должны быть предварительно адресованы. "ошибка при использовании GetMessage
Я знаю, что мой сервис работает так, как будто я удаляю аутентификацию Windows, он работает!Но с включенной аутентификацией Windows и без изменения clientCredentials я получаю ПЛОХОЙ ЗАПРОС, который я считаю нормальным ... поэтому мне нужно отправить свои учетные данные клиента
Я немного потерян.
ChannelFactory<IService> cf = new ChannelFactory<IService>(new WebHttpBinding(), "http://localhost:8000");
var defaultCredentials = cf.Endpoint.Behaviors.Find<ClientCredentials>();
cf.Endpoint.Behaviors.Remove(defaultCredentials);
// step two - instantiate your credentials
ClientCredentials loginCredentials = new ClientCredentials();
loginCredentials.UserName.UserName = "Test";
loginCredentials.UserName.Password = "test";
// step three - set that as new endpoint behavior on factory
cf.Endpoint.Behaviors.Add(loginCredentials); //add required ones
IService channel = cf.CreateChannel();
Console.WriteLine(channel.GetMessage("Dhananjay Get"));
Console.WriteLine(channel.PostMessage("Dhananjay Post"));