Честно говоря, я рекомендую сделать и то, и другое, что я и сделал.Я думаю, что было бы неплохо предоставить сервис «x» и иметь возможность подключаться либо через «y», либо «z» в зависимости от потребностей потребляющих сторон.
Когда я 1-й решил это сделать, я решил выставить множественное связываниетипы для одного и того же сервиса будут тривиальными.В конце концов, WCF - это все о опциях, так почему бы не выставить пару опций, как вы хотите, верно?Сложность в том, что вы не можете иметь (2) разные сервисы с разными привязками (скажем, HTTP и netTCP), которые используют один и тот же контракт на обслуживание.Вы получите сообщение об ошибке при попытке разместить такой сервис.
Я придумал простую абстракцию с использованием дополнительного интерфейса, чтобы разрешить эту самую вещь.Теперь у вас будет (2) отдельные контракты для реализации, по 1 для каждого типа привязки, но под ними будет только одна имплиментированная база кода.Взгляните на статью, которую я написал, которая объясняет это далее примером кода:
Предоставление нескольких типов привязки для одного и того же класса обслуживания в WCF