在 C# 桌面应用程序和 WCF 服务之间交换数据的最佳方式是什么?我现在知道的唯一方法是将数据作为带有分隔符的字符串数组发送。
谢谢
您想向 WCF 服务发送什么样的数据,您可以同时更改客户端和服务吗?
对于二进制数据,您最好使用net.tcp-binding,它最适合这种数据并且开销最小。
如果您只需要在一次调用中发送多个变量,您可以装饰一个类,该类包含您要使用数据协定发送的每个变量的属性,并将该对象作为一个整体发送,而无需使用所有数据时使用的分隔符在一个变量中。
这取决于您要发送的数据。
简单数据 - 单值 - 应使用适当的类型(例如整数)发送。
更复杂的数据应该放在一个对象中。使用DTO是个好主意,它是没有行为的对象。
您的 WCF 项目应定义相关类,然后服务的任何客户端(您的桌面应用程序)都可以访问该类。
这比字符串数组更容易让客户端使用。仅举一个例子,您的客户端在设置值之前必须知道字符串数组中的正确位置。对于 DTO,这只是一种情况,例如,customer.ModifiedDate = DateTime.Now;