0
我有一个支持单一回调方法的nettcp WCF服务。如何使一个WCF服务支持多个回调?
我想添加新的回调方法,通过添加包含新方法的新接口而不破坏旧方法,因为还有一些事情取决于旧接口。
我试图添加新的接口,它从旧的接口继承,但客户端应用程序中的gerenated代理不包含旧的回调接口。
的代码如下
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
{
}
PS
我作出快速和肮脏的解决方案,所以我会不会打破旧的客户端代码
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);
}