C# WCF-能否将回调接口指定为通用接口?

C# WCF-能否将回调接口指定为通用接口?,c#,wcf,duplex,C#,Wcf,Duplex,考虑一下,我将创建一个用于订阅和取消订阅双工服务的通用接口,例如: [servicecontract(CallbackContract=typeof(ICallbackService))] public interface IService { [operationcontract] void sub(); [operationcontract] void unsub(); } public interface ICallbackService { [operationcontract

考虑一下,我将创建一个用于订阅和取消订阅双工服务的通用接口,例如:

[servicecontract(CallbackContract=typeof(ICallbackService))]
public interface IService
{
 [operationcontract]
 void sub();
 [operationcontract]
 void unsub();
}

public interface ICallbackService
{
[operationcontract(isoneway=true)]
void senddata(object data);
}

public interface IFirstService:IService{}
public interface ISecondService:IService{}
在客户端创建双工通道实例时,我将回调实例设置为

class callbackclass:ICallbackService{
public void senddata(object d){}
}
当使用

DuplexChannelFactory<IFirstService> fact=new DuplexChannelFactory<IFirstService>(new instancecontext(new callbackclass()),new wsdualhttpbinding(),"address");
var chan=fact.CreateChannel();
DuplexChannelFactory事实=新的DuplexChannelFactory(新的instancecontext(新的callbackclass()),新的wsdualhttpbinding(),“地址”);
var chan=fact.CreateChannel();

我面临的一个问题是合同IFirstService没有定义任何操作。有人能帮助解决这种情况吗。

不幸的是,你不能。这是不可能的,因为soap不支持这一点

但当我创建父接口类型的代理时,它起作用了,在本例中是IService。。。