Я так же, как и вы, разочарован этим вводящим в заблуждение сообщением об ошибке Если я не ошибаюсь, вы получаете это TimeoutException в течение первой секунды. Я могу заверить вас в вашей проблеме, связанной с проблемами безопасности или сериализации. Я отнес эту проблему к группе разработчиков Microsoft WCF, они, казалось, были удивлены, но ничего не услышали.
Первое предложение - взглянуть на настройки безопасности NetTcpBinding. Убедитесь, что и клиент, и служба имеют одинаковые настройки безопасности «с нуля» для начала (например, не шифрование сообщений и не безопасность на транспортном уровне). Если вы можете заставить его работать без безопасности, постепенно увеличивайте настройки безопасности.
Второе предложение: некоторые проблемы с сериализацией могут вызывать сбой службы: пустое пустое поле, перегруженные методы, смешивающиеся с операциями, неоднозначные имена контрактов, неправильные приведения. Это можно легко сделать с помощью утилиты настройки службы WCF (SvcConfigEditor.exe). Запустите службу, получите исключение, остановите его и откройте сгенерированные журналы трассировки с помощью инструмента просмотра трассировки службы WCF. Оба инструмента поставляются с .NET (не Visual Studio) и находятся в папке Program Files / Windows SDKs.