2012-04-23 2 views
0

WCF에서 내 운을 시험하고 있으며 서비스에서 클라이언트로 데이터를 전송하는 방법을 잘 모르겠습니다.데이터 소비를위한 WCF SOA 모범 사례

내 데이터베이스에는 Worker 엔터티가 있고 각 작업자에게는 몇 가지 작업이 있습니다. 서비스는 작업자 엔터티 만 전송하고 추가 요청은 작업을 수행하지 않거나 엔터티가 이미 작업을 포함해야합니까?

+0

항상 그렇듯 : * 달라집니다 *! 예를 들어 원하는 경우 단순한 근로자 목록을 표시합니다. 그런 다음 각 근로자의 전체 작업 모음을 전송하는 것은 쓸데없고 시간 낭비입니다. 그러나 한 명의 작업자를 표시하려면 두 번째 호출을 피하기 위해 Worker 엔티티와 함께 ​​작업을 전송하는 것이 좋습니다. –

답변

2

두 가지 방법 모두 정확합니다. 작업자가 작업없이 존재할 수 있는지 여부는 클라이언트가 작업자 만 가져 오는 시나리오가 있습니까? 그렇다면 작업자와 작업을 가져 오는 별도의 방법을 사용할 수 있습니다. 그러나 매번 클라이언트가 항상 작업자와 관련된 작업을 필요로하기 때문에 2 개의 요청을 보내면 집계 루트를 사용하는 것이 좋습니다. 성능면에서 여러 개의 작은 요청보다는 하나의 큰 요청을 보내는 것이 좋습니다.

+0

일컬어 "Chatty"대 "Chunky" – GazTheDestroyer

+0

Together는 성과 이점 인 것처럼 보일지도 모르지만 Task 수가 많거나 시간이 지남에 따라 커지면 큰 성능 때문에이 성능 이득이 상쇄됩니다. 정답은 없지만 컨텍스트 기반 솔루션 만 있습니다. – Chandermani