2010-11-10 3 views
2

Я использую WS Discovery для динамического поиска и подключения к конечным точкам в локальной сети.Открытие WCF: EndpointNotFoundException, хотя конечная точка была найдена

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 конечной точки (s) были обнаружены, но клиент не может создать или открыть канал с любым из обнаруженных точек.»

Я искал сообщение об ошибке, но результатов не было! Что происходит, и как я могу это исправить?

+0

Я уже нашел ответ, который я отправлю через секунду. Этот вопрос был добавлен только для справки, поскольку для этого сообщения об ошибке было сложно. – mafu

ответ

0

По крайней мере, в моем случае ошибка была вызвана неправильной привязкой - ее SecurityMode был установлен неправильно.

+0

Пожалуйста, дайте мне информацию о том, что вы сделали с настройками режима безопасности – TVSuser1654136

Смежные вопросы