我们开发了自己的自托管WCF服务,并且有几个PHP应用程序使用此服务与设备进行通信。
要将数据发送到我们需要的设备,设备信息和我们要发送的数据,我们还有相反的方式来获取数据。
我们有几个Struct来管理数据:Device,User,UserInfo,DisplayInfo,Events,Logs ...... 当我们发送数据时,我们使用类似的东西:
bool SetUsers(Device d, User[] u);
这工作正常,但是我们使用PHP发送每个设备的数据,因此如果我们有50个设备和2000个用户,我们会发送50倍于2000个用户,您可以看到这可以做得更好。
所以我们认为我们可以使用类似的东西:
bool SetUsers(Device[] d, User[] u);
这也很好用,但大部分时间并非所有用户都必须转到所有设备,所以最新方法不行,第一种方法是发送大量冗余数据。
我的问题是:通过一次通话发送到50个设备2000用户或2000个userInfo或2000个displayInfo ...的最佳方法是什么?
我想到了三种可能的方法:
您认为哪一种方法最好? 也许是一个新的和改进的?
感谢!!!
答案 0 :(得分:0)
如果我理解正确,您的设备对象可以与多个用户,UserInfo或DisplayInfo相关联,这种情况下我会将它们逻辑地分组为DeviceUser,DeviceUserInfo和DeviceDisplayInfo对象,并在其中包含User / UserInfo / DisplayInfo的IEnumerable集合
实施例,
DeviceUser
- DeviceId (int)
- Users (IEnumerable<User>)
- Make (string)
- Year (int)