【问题标题】:Master-Slave control architecture in .net across multiple systems.net 中跨多个系统的主从控制架构
【发布时间】:2023-03-07 17:27:01
【问题描述】:

我一直在分析我的下一个项目并编写需求,我想做的一件事是通过 64 个串行端口(16 个端口 x 4 个 Windows 电脑)进行通信

我认为最好的做法是主/从应用程序模型,其中主应用程序由操作员控制,从属应用程序只需执行主控程序发出的命令(远程过程调用?我不擅长行话,我是一名初级工程师)我的问题如下:

在 .net 中发出上述命令并接收远程进程响应的最佳方式是什么?

是否有处理这种情况的通用设计模式?

如果用户不能直接访问 4 个系统中的 3 个(甚至可能是全部 4 个),我如何确保从属进程在远程计算机上生成?崩溃恢复在这里也是一个问题,有没有一种简单的方法可以告诉远程 pc 执行某些操作?这似乎是一个巨大的安全问题。

编辑: 格洛梅克问(简而言之)

会有人在 奴隶?为什么用户没有 访问系统?

系统严格来说是比萨盒,没有显示器,这些是最低工资测试操作员测试产品,4 台计算机应该通过网络通信相互通信,但 4 台计算机随后与 64 个被测单元通信,这些单元都具有 RS232 串行通讯。

【问题讨论】:

  • 您能否详细说明您实际想要完成的工作?为什么您使用串行而不是网络通信?是否会有人在奴隶上交互式地使用软件,或者他们只是主人的计算机农场?为什么用户无法访问系统?

标签: c# .net security model-view-controller network-programming


【解决方案1】:

在 .net 中什么是最好的发行方式 说命令并接收响应 来自远程进程?

您可以查看 .NET Remoting。其他有效的选项是将它们实现为服务器(例如soap)。

一种典型的方法可能是使用队列。

是否有一个共同的设计模式 处理这种情况?

为此,请查看企业集成模式(Gregor Hohpe 和 Bobby Woolf)。好书。

如果用户没有直接访问权限 到 4 个系统中的 3 个(甚至所有 4)我怎样才能确保奴隶 进程在远程产生 电脑?崩溃恢复也是一个 关心这里,有没有简单的方法 告诉远程电脑执行某事? 这似乎是一个巨大的安全问题。

编写一个依赖于身份验证的 API。您可以使用启用了 Windows 身份验证的 Web 服务。 Web 服务也可用于查询衍生进程的状态。

这也可以使用基于消息的方法来完成。

【讨论】:

  • 好的,假设我不关心在远程系统上启动可执行文件的安全性,我将如何按需启动它们?
  • 必须有一个服务始终在远程机器上运行。无论是在 iis 内部,还是使用带有某种其他类型通信(例如队列)的 Windows 服务,都将使用 Process 类启动可执行文件。该服务也会监控流程。
【解决方案2】:

关于身份验证,您可以使用 ICA 的证书(如果有的话)。

【讨论】:

    猜你喜欢
    • 2011-01-13
    • 2010-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-14
    • 2010-12-17
    • 2010-10-07
    • 1970-01-01
    相关资源
    最近更新 更多