在桌面客户端和WCF服务之间发送数据的技术?

时间:2011-08-31 08:27:10

标签: c# wcf http data-exchange

在C#桌面应用程序和WCF服务之间交换数据的最佳方式是什么?我现在知道的唯一方法是将数据作为带分隔符的字符串数组发送。

由于

2 个答案:

答案 0 :(得分:1)

您希望将哪种数据发送到WCF服务,是否可以更改客户端和服务?

对于二进制数据,最好使用net.tcp-binding,这对于那种数据是最佳的,并且开销最小。

如果您只需要在一次调用中发送多个变量,则可以使用data contract装饰包含要发送的每个变量的属性的类,并将该对象作为整体发送,而无需使用当所有数据都在一个变量中时使用的分隔符。

答案 1 :(得分:0)

这取决于您要发送的数据。

简单数据 - 单值 - 应使用适当的类型(如整数)发送。

应将更复杂的数据放入对象中。使用DTOs是个好主意,它们是没有行为的对象。

您的WCF项目应该定义相关的类,然后该服务的任何客户端(您的桌面应用程序)都可以访问该类。

客户端使用它比字符串数组容易得多。举一个例子,您的客户端必须在设置值之前知道字符串数组中的正确位置。对于DTO,它只是例如customer.ModifiedDate = DateTime.Now;

的情况