WCF - 可以将回调接口指定为通用接口吗?

WCF - Can the callback interface specified as a generic one?

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

[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();

我遇到一个问题,说合同 IFirstService 没有定义任何 operations.Can 任何人都可以帮助解决这种情况。

很遗憾,你不能。这是不可能的,因为 soap 不支持这个。 Please read this article.