Chúng tôi có dịch vụ WCF được sử dụng để truy vấn kho lưu trữ dữ liệu cơ bản (SQL Server 2005 ngay bây giờ). Dịch vụ này có thể trả về một lượng lớn dữ liệu; 60000+ phiên bản của lớp thực thể chứa ~ 20 thuộc tính. Các thuộc tính chủ yếu là nguyên thủy như chuỗi, int, DateTime với một cặp vợ chồng chỉ vào các thực thể khác có thể lần lượt trỏ vào những người khác; những hệ thống phân cấp đó không sâu lắm.Thực hành tốt nhất cho dịch vụ WCF với lượng lớn dữ liệu?
Một ứng dụng đang sử dụng dịch vụ này thường sẽ tạo các truy vấn trả về chỉ một số lượng thực thể hợp lý (chỉ từ một vài trường hợp lên đến vài nghìn). Nhưng đôi khi nó sẽ thực hiện một truy vấn sẽ trả về một số lượng lớn như đã nêu ở trên (và nó sẽ cần phải xử lý dữ liệu đó, do đó thu hẹp các tiêu chí truy vấn không phải là một tùy chọn).
Điều chúng tôi muốn làm là giới thiệu một số chức năng "phân trang", nơi khách hàng có thể gọi dịch vụ và nhận lại một số trường hợp nhất định, sau đó gọi lại và lấy đoạn tiếp theo và tiếp tục, cho đến khi kết quả đầy đủ được tìm nạp. Đã không làm việc rất nhiều với WCF, tôi không hoàn toàn chắc chắn về cách tốt nhất để đạt được điều này.
Một điều cần lưu ý là dữ liệu cơ bản có thể thay đổi rất nhiều trong khi tìm nạp các khối. Tôi không hoàn toàn chắc chắn nếu điều này là một vấn đề đối với chúng tôi hay không (cần phải invesigat rằng một chút), nhưng nó có thể được, vì vậy bất kỳ đầu vào về xử lý tình hình cụ thể cũng được chào đón.
Chúng tôi đã bắt đầu xem xét truyền trực tuyến phản hồi, nhưng cũng muốn xem mẫu phân trang, vì chúng tôi có thể muốn bắt đầu xử lý dữ liệu trước khi nhận được kết quả đầy đủ.
Vì vậy, câu hỏi ngắn gọn: có cách nào hay nhất cho loại kịch bản này (hoặc bất kỳ sự không tuyệt đối nào mà chúng ta nên biết)?
Fredrik- bạn đã thấy điều này- http://stackoverflow.com/questions/741413/implementing-pager-through-wcf-service- một chút cơ bản mặc dù – RichardOD
@RichardOD: cảm ơn vì liên kết. Tôi nghĩ chúng ta cần tấn công ở mức độ thấp hơn thế, nhưng tôi sẽ cho nó một thời gian thử nghiệm. –