我不确定我是否走对了路,但这正是我要做的,我有一个Silverlight应用程序和WCF服务,Silverlight应用程序使用PollingDuplex"订阅"WCF服务,该服务可以向任何连接的客户端发送数据。
该服务标记有[ServiceContract(CallbackContract=typeof(IServiceCallback((],并且是单实例
问题是,还有另一个服务应该能够在此服务上调用标准方法,以向其传递将分发给连接的Silverlight客户端的数据,但由于上述设置,它要求它使用回调(我无法更改其他服务(。
如果有意义的话,有没有办法在同一服务中同时使用回调和标准这两种类型的操作?
感谢您抽出时间
是。这是可能的。我想CallbackContract参数不会阻止您将服务用作常规请求/响应服务(尽管我还没有尝试过(。
但对于同一个合约,您可能需要定义两个具有不同绑定的端点,一个具有PollingDuplexHttpBinding,另一个具有basicHttpBinding(对于silverlight,这是唯一的其他选项(。
您必须确保使用双工和基本http绑定从客户端调用正确的操作。