我希望数据从A点转移到B点。我在A和B中有Web服务。哪种设计更好?
为什么接近1或2是最好的方法?
答案 0 :(得分:1)
您希望根据实际业务问题中的问题/解决方案的外观,实施提取 GetData()
或推送 TakeData()
。非常粗略的例子是while implementing a fire alarm
我会推动它,以便我将这些信息推送到建筑物中的所有人,即使他们没有预料到(polling
)这里TakeData()
更合适。如果我想实施GetEmployeeSalary
,我很少需要向所有订阅者提供这些信息,因为它是我想要提供给那些要求它的人的敏感/机密信息,在验证它们之后也是如此。允许这样做GetData()
更有意义。
我不知道你正在使用的技术,但应该有机制来实现推或拉模型(至少WCF有这些WS-Eventing)。
推送时 - 理想情况下,当真实世界需要使用更新来更新多个系统/客户端时。想象一下股票代码网络服务,每个客户都对不同的报价感兴趣。在每次更改时向付费客户发送推送通知,关于每个客户感兴趣的自动收报机可能是有意义的,同时只允许为GetData()
提供免费客户端的延迟数据。