В моем решении есть несколько сервисов WCF, каждый из которых реализует свой собственный интерфейс обратного вызова. Допустим, они называются: Subscribe1
, с ISubscribe1
и ICallback1
и т. Д.
Бывает, что ICallbacks использует несколько методов, поэтому я создал следующий интерфейс:
interface ICallback
{
[OperationContract]
void CommonlyUsedMethod();
}
и я унаследовал его во всех: ICallback1 : ICallback
, ICallback2 : ICallback
и т. Д. И удалил CommonlyUsedMethod()
из всех интерфейсов обратного вызова.
Теперь в коде на стороне службы все прекрасно скомпилируется, и службы могут начать работать как обычно. Но когда я обновил сервисные ссылки для клиента, CommonlyUsedMethod () исчез из файла reference.cs (часть ISubscribeCallback) и больше не мог использоваться для отправки данных обратно клиенту.