繁体   English   中英

c# 多次同步运行后端应用程序

[英]c# Running BackEnd application multiple times synchronously

您好,我在 C# 中有一个后端应用程序,它为 web 应用程序的前端提供数据。 在前端 UI(使用 Siemens WinCC Unified 编程)中,用户无休止地请求生产机器的在线数据。 在 C# 应用程序中使用特殊的 dll 连接到所需的机器并读取数据。 有一个用户,一切正常:) 但是如果两个用户需要来自不同机器的数据,C# 应用程序应该如何同时为不同的两个用户提供数据? 从所需机器读取数据以高频率(每 30 毫秒)完成,时间是无限的,直到用户停止读取。 所以在 C# 中,我应该能够同时从多台机器连接和读取数据。 我该如何管理? 假设数据读取是在一个名为“Read_Data”的方法中完成的。 我应该在不同的线程中多次调用这个“Read_Data”吗? 或者我应该创建dll,并多次调用这个dll? 真的很困惑如何管理这个:(

线程。 30ms 是一个快速的更新速率(你确定 WCCU 会处理吗?你在做什么?实时跟踪?)。 您希望最小化您的通信负载,这意味着如果多个用户想要来自同一台机器的数据,您的软件应该只为两个用户执行一个读取操作。 这一切都更容易在一个应用程序中使用线程来完成。

例如:

  • 用户 1(请求 M1)
  • 用户 2(请求 M1)
  • 用户 3(请求 M2)
  • 用户 4(请求 M3)
  • 用户 5(请求 M3)

应用程序轮询机器 M1、M2 和 M3。 将 m1 数据提供给 User1&2,将 M2 数据提供给 User3,将 M3 数据提供给 User4&5。

当有 >0 个用户请求它们的数据时,将建立到每台机器的流/连接。 当有 ==0 个用户请求数据时取消。

附带说明一下,您是否只有一个 WCCU RT 实例有多个用户连接? 如果是,您将如何判断哪个用户想要什么?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM