Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将相关数据发送到具有不同结构的WCF的最佳方式_C#_Php_.net_Wcf - Fatal编程技术网

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

C# 将相关数据发送到具有不同结构的WCF的最佳方式,c#,php,.net,wcf,C#,Php,.net,Wcf,我们已经开发了自己的自托管WCF服务,一些PHP应用程序使用该服务与设备通信 要将数据发送到我们需要的设备,设备信息和我们要发送的数据,我们还有另一种方法,获取数据 我们有几个结构来管理数据:设备、用户、用户信息、显示信息、事件、日志。。。 当我们发送数据时,我们会使用以下方式: bool SetUsers(Device d, User[] u); 这是正常的,但是使用PHP我们每个设备发送数据,所以如果我们有50个设备和2000个用户,我们发送的数据是2000个用户的50倍,你可以看到这可以

我们已经开发了自己的自托管WCF服务,一些PHP应用程序使用该服务与设备通信

要将数据发送到我们需要的设备,设备信息和我们要发送的数据,我们还有另一种方法,获取数据

我们有几个结构来管理数据:设备、用户、用户信息、显示信息、事件、日志。。。 当我们发送数据时,我们会使用以下方式:

bool SetUsers(Device d, User[] u);
这是正常的,但是使用PHP我们每个设备发送数据,所以如果我们有50个设备和2000个用户,我们发送的数据是2000个用户的50倍,你可以看到这可以做得更好

因此,我们认为我们可以使用类似于:

bool SetUsers(Device[] d, User[] u);
这也可以,但大多数时候并非所有用户都必须访问所有设备,因此最新的方法并不可行,第一种方法是发送大量冗余数据

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

我想到了三种可能的方法:

  • 在设备结构中,包含多个结构的变量属性。发送数据的最佳方式,组织数据的最佳方式
  • 在每个结构、用户、用户信息中。。。包括设备结构,然后我们将根据代码中的设备对其进行排序。喜欢,但不要认为这是最好的方式
  • 发送所有设备+所有相关数据+第三个关联这两个设备的结构。我必须在每个结构中生成自定义ID,并创建一个多对多的结构。(不知道具体怎么做)
  • 你认为哪种方法最好? 也许是一个新的和改进的


    谢谢

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

    例如

    DeviceUser
    - DeviceId (int)
    - Users (IEnumerable<User>)
    - Make (string)
    - Year (int)
    
    DeviceUser
    -设备ID(内部)
    -用户(IEnumerable)
    -制作(字符串)
    -年份(整数)
    
    嗨,不,我没有创建DeviceX对象。现在,每个人都是独立的。我不知道创建它是否是个好主意,我有超过15个结构要发送到设备,我最终会得到15+15相关的。我建议有一个DeviceX对象。我认为把15个15个类取代而不是拥有高API /服务的CLASI是一个可以忽略的折衷方案,它具有3个属性的设备和15个属性的用户。什么是更好、更高效的DeviceUsers或UserDevices?如果一台设备可以有多个用户,请使用DeviceUsers。如果一个用户可以有多个设备,请使用UserDevices。