将相关数据发送到具有不同结构的WCF的最佳方式

本文关键字:结构 WCF 方式 最佳 数据 | 更新日期: 2023-09-27 17:58:19

我们开发了自己的自托管WCF服务,几个PHP应用程序使用该服务与设备通信。

要将数据发送到我们需要的设备,设备信息和我们将要发送的数据,我们也可以通过另一种方式获取数据。

我们有几个结构来管理数据:设备、用户、用户信息、显示信息、事件、日志。。。当我们发送数据时,我们使用类似的东西:

bool SetUsers(Device d, User[] u);

这还可以,但使用PHP,我们每个设备发送数据,所以如果我们有50个设备和2000个用户,我们发送的数据是2000个用户的50倍,你可以看到这可以做得更好。

所以我们想我们可以使用这样的东西:

bool SetUsers(Device[] d, User[] u);

这也可以,但大多数时候并不是所有用户都必须访问所有设备,所以最新的方法不可行,第一种方法是发送大量冗余数据。

我的问题是:向50台设备发送2000用户或2000用户信息或2000显示器信息的最佳方式是什么。。。一个电话?

我想了三种可能的方法:

  1. 在设备结构中,包括多个结构的可变属性。发送数据的最佳方式,组织数据的最佳方法
  2. 在每个结构、用户、用户信息。。。包括Device Struct,然后我们将根据代码中的设备对其进行相应排序。喜欢它,但不要认为这是最好的方式
  3. 发送所有设备+所有相关数据+与它们两者相关的第三个Struct。我必须在每个结构中生成自定义ID,并创建一个多对多的结构。(不知道具体是怎么回事)

你认为哪种方法最好?也许是一个新的改进的?

谢谢!!!

将相关数据发送到具有不同结构的WCF的最佳方式

如果我理解正确,您的设备对象可以与多个用户、UserInfo或DisplayInfo相关联,在这种情况下,我会将它们逻辑地分组为DeviceUser、DeviceUserInfo和DeviceDisplayInfo对象,并在其中有User/UserInfo/DisplayInfo的IEnumerable集合。

示例,

DeviceUser
- DeviceId (int)
- Users (IEnumerable<User>)
- Make (string)
- Year (int)