2012-01-10 1 views
0

큰 데이터 집합을 반환하는 WCF RIA 서비스 메서드를 호출하는 Silverlight 클라이언트 (4.0)가 있습니다. CustomObject가 약 20 개 필드를 가진 List를 반환합니다.WCF RIA 큰 데이터 가져 오기

내가 알아챈 것은 목록에있는 항목 수가 20,000 개가되면 매우 느리다는 것입니다. 서버의 return 문에 중단 점을 넣고 클라이언트쪽에 하나의 중단 점을 넣으면 서버에서 목록을 반환 한 후 클라이언트 쪽에서 중단 점에 도달하는 데 적어도 40 초가 걸리는 것을 볼 수 있습니다. 나는 왜 서버에서 클라이언트로 데이터를 가져 오는 데 너무 많은 시간이 걸리는지 궁금합니다.

WCF RIA 서비스에서 정상입니까? 어떤 방법으로 효율성을 높일 수 있습니까?

고마워요!

+0

로드 작업을 통해 데이터를 가져 왔습니까? 또는 작업을 호출합니까? –

+0

20000 개의 레코드가 너무 많아서 더 빨리 다운로드 할 수 없습니다. (DomainCollectionView를 사용하면 쉽게) 페이징을 구현해야하며 필요한 속성 만 가져 오도록 DTO 클래스를 만들어야합니다. – tbmihailov

답변

0

음, 20.000 기록은 ... 20.000 기록입니다. 긴 다운로드는 이와 같은 시나리오에서 자주 발생하는 문제는 아닙니다. 다음 두 가지 작업을 수행 할 수 있습니다.

  1. 레코드를 페이지화합니다.
  2. WCF에게 데이터 압축을 요청하십시오. Silverlight가 전체 WCF 기능을 사용하지 않기 때문에 가능한지 확실하지 않습니다.
+0

그냥 확인 하시겠습니까? 일반적인 것이거나 드문 것입니까? 당신이 '드문'이라고 쓰는 것처럼 보입니다. –

+0

Opsss ... 네 말이 맞아. 드문 일이 아닙니다. – NestorArturo

+0

WCF RIA에서 압축이 가능합니까? 나에게 위대한 링크를 보내 줄 수 있다면! 나는 Telerik과 RadCompression을 시도하고 didnt가 작동하는 것 같아요. – user636525