我有一个 ASP.NET Web API 服务器,它必须与不同平台上的不同应用程序进行通信。现在我想创建一个类似于回调的方法:客户端应用程序订阅它并等待服务器触发消息。
示例: 许多用户都在等待新产品上架——他们订阅了这个“事件”。当产品到达商店时 - 每个客户都会收到一条消息,在某些情况下必须对其进行处理。
- 用户发送请求“订阅”
- 服务器收到请求“产品可用!”
- 服务器向每个用户发送一条包含产品详细信息的消息。
- 用户的应用程序处理消息
我试图在 ASP.NET Web API 中找到一些关于回调或双工的信息,但有一个建议——最好使用 WCF 来实现这种方法。
解决方案
- 在每个客户端应用程序中创建类似计时器的东西,每 N 秒发送一个请求“产品可用吗?” 直到得到“假”。当响应为真时 - 发送消息“获取产品详细信息”。这会导致大量流量,如果有很多客户使用这些计时器 - 这将是一件坏事,不是吗?
- 创建一个小型回调服务器(可能是 WCF)。但在这种情况下,该服务器与不同平台上的应用程序之间的通信会出现很多问题。
- 也许在 ASP.NET Web API 中有一些我错过的解决方案。
如果您对我如何解决这个问题有一些想法,请给我一个建议。
感谢帮助。