1

我想为以下问题开发一个使用 .NET 的简单解决方案:

我们在本地网络中有几台计算机:

  • 10 台可能需要执行仅安装在两个工作站上的程序的客户端计算机
  • 仅用于执行定义程序的两个工作站
  • 可用于安装可从所有先前描述的计算机获得的服务的服务器

当客户端计算机需要执行程序时,他会向服务器发送请求,服务器会在可以执行时将作业分发给工作站,并在执行完成时通知客户端计算机。

我不太习惯网络和服务开发,所以我不确定这是否是最好的方法,但下面是我想到的一个可能的解决方案:

  • 服务器上的 Web 服务将任务列表及其状态存储在队列中或数据库中
  • 客户端计算机调用 Web 服务来执行程序并获取任务 ID。然后每秒使用任务 ID 调用它以了解是否已执行执行。
  • 可用的工作站每秒调用 Web 服务以了解是否有要执行的操作。如果是,则服务器分配任务,并且工作站在执行完成时调用 Web 服务。

我在下图中总结了这一点:

系统总览

你认为有一个更简单的解决方案吗?

4

1 回答 1

1

看看信号器!您可以将其用作消息传递框架,并且不需要从 2 个不同的方向轮询服务。使用 signalR,您将能够将执行订单推送到服务,一旦执行完成,服务将通知客户端。工作站也将与 signalR 连接。他们不需要请求执行命令,因为 Web 服务将能够将执行命令推送到所有或特定工作站。

于 2014-06-20T10:39:37.427 回答