Я обнаружил, что это распространенная проблема в wcf discovery. Аналогичная проблема возникает, когда сервер находится в двух сетях. При обнаружении будут возвращены оба никнейма адреса, но, конечно, клиент может достичь сервера только через одну из этих сетей.
Обходное решение, которое я использовал, - добавить функцию «void Ping ()» на сервер. Затем после обнаружения клиент пытается вызвать эту функцию «Ping ()» на всех обнаруженных конечных точках. Те, которые возвращают ответ, хорошие, другие плохие.
Я закончил тем, что сделал еще один шаг и порождал поток, который иногда вызывает эту функцию "Ping ()". Затем, когда исчезает хороший сервер, поток удаляет этот URI из коллекции «хороших» URI.
Я чувствую твою боль.