ChannelFactory, созданный новым оператором, читает из web.config. AnAngel ответ выше верен.
Вам просто нужно убедиться, что вы предоставили конечной точке имя.
И убедитесь, что контракт конечной точки установлен правильно (очень важно)
До этого у меня был опыт, когда мой web.config был сгенерирован VS, и контракт конечной точки установлен на контракт в ServiceReference (в результате добавления Service Reference), который мне не нужен. Хотя оно имеет имя, аналогичное моему первоначальному контракту (но находится в разных пространствах имен)
<endpoint address="http://localhost:2000/MyService/" binding="wsHttpBinding"
behaviorConfiguration="wsHttpBehaviour" contract="TheCorrectNamespace.IService"
name="MyWsHttpEndpoint" />
Аскер не опубликовал свой web.config, поэтому я предполагаю, что вы, скорее всего, допустили ошибку, которую я сделал (указав неверный контракт для конечных точек)