我是WCF的新手,我有一个问题,我不知道如何解决它。
我有Windows应用程序监听COM端口,GUI WPF应用程序用于配置Windows应用程序。其中,我的想法是在每次遇到COM端口时向WPF应用程序发送通知,并可能将这些数据发送到WPF。
对于这两个客户机之间的通信,我使用WCF,为了将数据从WCF服务发送到WPF应用程序,我必须使用回调。
因为有两个不同的客户端,所以我不得不使用两个不同的ServiceContracts。其中一个ServiceContacts支持回调方法,其中一个不支持回调方法,因此有两个不同的绑定。
当WS从COM端口获取数据时,是否有任何方法调用在WPF应用程序上实现的回调方法?在WS上,我为WS调用ServiceContract中定义的代理方法,并在WCF服务中获取数据,但当我调用回调时,它始终为null。我知道OperationContext存在问题,我知道问题是什么,但我不知道如何解决它,也不知道有什么办法解决它。
请帮帮我,谢谢。
发布于 2014-10-08 14:28:54
我认为,如果您的WFP客户通常通过WCF调用“服务”,那么双工WCF (即与回调的合同)是一种方法。您将在"service“契约类(通常是它的构造函数)中获得回调上下文,然后使用它在任何时候将任何内容转发给WPF客户端。谷歌“双工WCF”。
但是,在企业规模上,您将使用中间件解决方案,即WPF客户端订阅并获取其更新的单独的“消息队列/总线”基础结构。如果没有订阅任何人,则将消息发送到/dev/null。“服务”在任何情况下都会将所有信息发布到公共汽车上。
https://stackoverflow.com/questions/26241223
复制相似问题