我是WCF的新手。我刚刚完成了我的第一个WCF服务项目,我想知道实现这一目标最方便的方法是什么:
我想让App A向App B发送数据。应用程序A& B现在是独立的。
我想到了类似下面的草图,其中H是服务主机公开服务S.
服务S将签订合同&消耗(获取)A中的数据(由A调用)和将数据推送(设置)到B的方法(由B -well调用我猜...)
在您看来,这是否相关?
答案 0 :(得分:2)
如果您想要解耦两个应用程序,那么在两者之间添加服务肯定是一种选择。
有一些设计模式可以解决这类问题。以下书籍/网站有一些非常好的信息:Enterprise Integration Patterns.
中间的应用程序可以是一个Broker,它具有良好定义的接口并连接与之通信的所有应用程序。它知道如何在没有这些客户端之间严格耦合的情况下将事件分发到客户端应用程序。
答案 1 :(得分:2)
回答你的“但是,我仍然想知道B应该如何获取数据。我希望它是被动的,只要它可以从S”注释获得数据:你应该实现一个服务也在B
上,H
可以向B
发送一些数据。
这就是我以宏观方式看待你的项目的方式:
H
和B
正在实施名为[OperationContract]
的{{1}}。
ReceiveData(Data myData)
想要发送数据时,他会在A
上拨打ReceiveData()
。H
获取数据并检测到数据是H
时,他会在B
上调用ReceiveData()
。重点是B
与 B
一样,托管服务。