这是一个理论问题,而不是一个实际问题,但鉴于我不支持SOA的原则,我仍然不确定这是否可以应用于任何应用程序。
通常的例子是客户想要从服务器知道某些东西,因此我们实现了一个服务,可以提供给定客户端请求的信息,它可以是无状态或有状态的等等。
但是当我们想要在服务器上发生某些事情时收到通知时会发生什么,也许我们会调用服务来注册搜索,并希望在新项目到达匹配或搜索的服务器时收到通知。 当然,这可以通过使用长时间超时的轮询和杠杆来实现,但是我无法在通常的协议中看到从服务器接收事件而不打电话询问的方法。
如果你可以给我一个例子,或者告诉我一个可以支持的架构那么你已经度过了我的一天。
答案 0 :(得分:0)
您是否考虑过pub-sub(即; WS-Eventing,WS-Notification)?这些是将“东西”推向感兴趣的消费者/订阅者的常用手段。
答案 1 :(得分:0)
您想使用发布 - 订阅设计。如果您正在使用WCF结帐使用Juval Lowery编程WCF。在附录中,他展示了如何构建实际上完全按每个呼叫的Pub-Sub系统。它甚至不依赖于CallbackContracts并保持长时间运行的通道打开,因此在通信中断时不需要任何重新连接逻辑...更不用说需要任何轮询。