Нет, можно реализовать более одного контракта на обслуживание для типа службы WCF (класса, который приписывается атрибуту ServiceBehavior), поскольку это всего лишь вопрос того, чтобы класс реализовывал несколько интерфейсов. Если вы используете какой-либо из шаблонов Visual Studio или другие виды генераторов кода, это может быть не совсем понятно. Однако, несмотря на то, что вы можете реализовать более одного интерфейса контракта на обслуживание для одного типа сервиса, это не принесет вам большой пользы, если вам нужно, чтобы сервис, предположительно, в данном случае, синглтон, работал как один сервис. IBusinessService подразумевает, что вам необходимо, чтобы все функциональные возможности службы могли вызываться из одного клиентского прокси-сервера, чтобы все операции могли работать в одном логическом сеансе (аналогично веб-сеансу ASPX). Если это не так, тогда вы можете определить отдельные прокси для каждого интерфейса контракта, но для этого также потребуется поддержка одной конечной точки для каждого контракта.
Это абсолютное требование, которое вы можете иметь только для экземпляра WCF ServiceHost для своей реализации? Какие факторы влияют на ваше решение?
Кстати, частичные занятия меня больше не беспокоят. Идея разбить код на несколько файлов сейчас кажется довольно естественной. Например, хранение частичных классов в файлах, таких как ServiceType_IProductMgmtBiz.cs и ServiceType_ICustomerMgmtBIZ.cs, кажется достаточно естественным, в дополнение к хранению логики ядра в ServiceType.cs.
Наконец, может пригодиться следующий вопрос ...
WCF и наследование интерфейса - это ужасная вещь?