Программа, над которой я работаю, предоставляет как обратные вызовы, так и службы с использованием wcf. В основном, то, что делают службы, просто возвращает значение некоторых переменных. Что касается обратного вызова, они просто обновляют эти переменные.Наследование службы Wcf (продление службы)
Я хочу, чтобы иметь возможность показывать один класс, содержащий только службы и один класс, содержащий службы и обратные вызовы.
Например:
[ServiceContract]
[ServiceBehavior(InstanceContextMode=InstanceContextMode::Single, ConcurrencyMode=ConcurrencyMode::Multiple)]
public ServiceClass
{
[OperationContract]
public int getValue()
{
return mValue;
}
protected static int mValue;
};
[ServiceContract]
[ServiceBehavior(InstanceContextMode=InstanceContextMode::Single, ConcurrencyMode=ConcurrencyMode::Multiple)]
public ServiceAndCallbackClass : ServiceClass
{
[OperationContract]
public bool subscribe()
{
// some subscribing stuff
}
public void MyCallback()
{
++mValue;
// Notify every subscriber with the new value
}
};
Если я хочу только те услуги, я могу использовать базовый класс. Однако, если я хочу подписаться на обратный вызов и использовать эту услугу, я могу использовать ServiceAndCallbackClass.
Возможно ли это?