Обнаружение 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 был установлен неправильно.

Другие вопросы по тегам