我想为以下问题开发一个使用 .NET 的简单解决方案:
我们在本地网络中有几台计算机:
- 10 台可能需要执行仅安装在两个工作站上的程序的客户端计算机
- 仅用于执行定义程序的两个工作站
- 可用于安装可从所有先前描述的计算机获得的服务的服务器
当客户端计算机需要执行程序时,他会向服务器发送请求,服务器会在可以执行时将作业分发给工作站,并在执行完成时通知客户端计算机。
我不太习惯网络和服务开发,所以我不确定这是否是最好的方法,但下面是我想到的一个可能的解决方案:
- 服务器上的 Web 服务将任务列表及其状态存储在队列中或数据库中
- 客户端计算机调用 Web 服务来执行程序并获取任务 ID。然后每秒使用任务 ID 调用它以了解是否已执行执行。
- 可用的工作站每秒调用 Web 服务以了解是否有要执行的操作。如果是,则服务器分配任务,并且工作站在执行完成时调用 Web 服务。
我在下图中总结了这一点:
你认为有一个更简单的解决方案吗?