У меня есть служба nettcp WCF, которая поддерживает один метод обратного вызова.
Я хочу добавить новые методы обратного вызова, добавив новый интерфейс, который содержит новые методы, не разрушая старый, так как есть другие вещи, которые зависят от старого интерфейса.
Я попытался добавить новый интерфейс, который наследуется от старого, но прокси-сервер с географической привязкой в клиентском приложении не содержит старого интерфейса обратного вызова.
код выглядит следующим образом
interface IOldCallback
{
[OperationContract(IsOneWay = true)]
void OnMethod1(int x);
}
interface INewCallback : IOldCallback
{
[OperationContract(IsOneWay = true)]
void OnMethod2(float x);
[OperationContract(IsOneWay = true)]
void OnMethod3(bool x);
}
[ServiceContract(SessionMode = SessionMode.Required, CallbackContract = typeof(INewCallback))]
public interface IMyService
{
}
P.S
Я делаю быстрое и грязное решение, чтобы не сломать старые клиентские коды
interface INewCallback : IOldCallback
{
[OperationContract(IsOneWay = true)]
void OnMethod2(float x);
[OperationContract(IsOneWay = true)]
void OnMethod3(bool x);
[OperationContract(IsOneWay = true)]
new void OnMethod1(int x);
}