Дополнительный вопрос к Как составить контракт WCF из нескольких интерфейсов? .
Я попытался объединить несколько интерфейсов обратного вызова в одном интерфейсе. Это приводит к InvalidOperationException, утверждающему, что конечный интерфейс не содержит операций. Технически это действительно так, однако унаследованные интерфейсы содержат операции.
Как я могу это исправить? Или это ограничение WCF?
Edit:
[ServiceContract]
// Using the following line instead would be no problem for me:
// [ServiceContract (CallbackContract = CallbackA)]
interface ServiceA { [OperationContract]void X(); }
[ServiceContract] // same here
interface ServiceB { [OperationContract]void Y(); }
interface CallbackA { [OperationContract]void CB_A() } // required in ServiceA
interface CallbackB { [OperationContract]void CB_B() } // required in ServiceB
interface CallbackC: CallbackA, CallbackB {} // composed callback contract
[ServiceContract (CallbackContract = CallbackC)]
interface ServiceC: ServiceA, ServiceB {} // composed service contract