考虑一下,我将创建一个通用接口(interface)来订阅和取消订阅双工服务,例如:
[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{}
在客户端创建双工 channel 实例时,我的回调实例为
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();
我遇到一个问题,说契约(Contract) IFirstService 没有定义任何操作。任何人都可以帮助解决这种情况吗?
最佳答案
不幸的是你不能。这是不可能的,因为 SOAP 不支持这一点。 Please read this article .
关于c# - WCF - 回调接口(interface)可以指定为通用接口(interface)吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29096177/