Обнаружение WCF: EndpointNotFoundException, даже если конечная точка была найдена
Я использую WS Discovery для динамического поиска и подключения к конечным точкам в локальной сети.
var cli = new DiscoveryClient (new UdpDiscoveryEndpoint ());
var response = cli.Find (new FindCriteria (typeof (IFoo)));
возвращается net.tcp://localhost:8000/
, что правильно. Но
var ep = new DynamicEndpoint (
ContractDescription.GetContract (typeof (IFoo)), new NetTcpBinding ());
var cf = new ChannelFactory<IFoo> (ep);
var ch = cf.CreateChannel ();
ch.SomeMethod ();
создает исключение EndpointNotFoundException с этим сообщением:
"1 конечная точка была обнаружена, но клиент не смог создать или открыть канал с какой-либо из обнаруженных конечных точек".
Я погуглил сообщение об ошибке, но результатов не было! Что происходит, и как я могу это исправить?
1 ответ
Решение
По крайней мере, в моем случае ошибка произошла из-за неправильной привязки - ее SecurityMode был установлен неправильно.