我们如何将请求从Web服务调度到远程Windows服务并获得响应?

时间:2019-12-09 02:02:16

标签: asp.net web-services windows-services signalr

我正在继承一个需要改进性能的项目。它是使用ASP.NET WebAPI,SignalR和Windows Services编写的。

我们有大约100台将运行Windows服务的远程计算机和一台正在运行Web服务的中央服务器。当Web服务收到请求时,它将确定需要将请求分派给哪个客户端。一旦确定,SignalR消息将与要处理的数据一起发送到适当的客户端。

需要将结果返回给调用者,这会使它变得混乱。计划是让Windows服务通过调用另一个填充数据库行的Web服务将结果发送回服务器。在这种情况下,原始的Web服务调用将轮询数据库长达5秒钟,以寻找新行,以便可以获取结果并将其发送回原始调用者。

之所以发生这种轮询,是因为SignalR消息基本上是“即发即弃”并且无法收到响应。 (可以吗?)之所以使用SignalR,是因为Windows服务将在我们不拥有的Windows 7或Windows 10计算机上运行,​​并且将在无法打开端口的防火墙后面。

是否可以将SignalR消息发送给客户端并接收响应?如果没有,哪种更好的方法可以促进服务器与客户端上的Windows服务之间的通信?

0 个答案:

没有答案