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.
考虑到我将创建一个通用接口来订阅和取消订阅双工服务,例如:
[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.