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