2012-04-23 17 views
0

我想我的运气在WCF中,我不知道如何将数据从服务传输到客户端。WCF SOA数据消费的最佳实践

可以说我在我的数据库中有一个Worker实体,每个工人都有一些任务。 服务是否应该只传递Worker实体,而不是通过额外请求任务,还是实体已经包含这些任务?

+0

一如既往:*它取决于*!如果你想要例如显示一个正式工作人员名单 - 然后将每个工作人员的整个任务收集转移给他们是无用的,浪费时间。但是,如果您想显示单个工作人员,那么将其任务与工作人员实体一起传送可能会很有意义,以避免第二次调用。 – 2012-04-23 07:47:00

回答

2

两种方法都是正确的。这将取决于一个工人是否可以在没有任务的情况下存在=>是否存在客户只会取得工人的情景?如果是,那么你可以有单独的方法来获取工作者和任务。但是,如果每次客户端发送2个请求,因为他们总是需要与该工作者关联的任务,那么最好使用聚合根。在性能方面,最好发送一个大的请求,而不是多个较小的请求。

+0

也被称为“Chatty”vs“Chunky” – GazTheDestroyer 2012-04-23 08:20:25

+0

这似乎是一种性能优势,但如果任务数量很大或随时间增长,这种性能增益将因大负载而被抵消。没有正确的答案,但只有上下文驱动的解决方案。 – Chandermani 2012-04-23 10:39:55