2010-06-23 8 views

Trả lời

12

Dịch vụ dữ liệu WCF là một cách khá dễ dàng và nhanh chóng để lấy mô hình dữ liệu của bạn - bộ sưu tập và thực thể - trên web. Bạn có thể dễ dàng duyệt các bộ sưu tập của mình, xem các thực thể, tất cả thông qua các cuộc gọi HTTP/REST tiêu chuẩn.

Miễn là bạn có chủ yếu là - hiển thị và hiển thị các thực thể và tập hợp các thực thể - nó hoạt động thực sự tốt. Tôi không thực sự biết thêm tiền thưởng mà WCF RIA Dịch vụ thực hiện chỉ được nêu ra - đã không điều tra quá nhiều.

Dịch vụ dữ liệu WCF dựa trên mô hình đại diện cho dữ liệu của bạn - đó là nơi mà khung công tác LINQ-to-SQL hoặc Entity đi vào và cho phép bạn tạo mô hình đó dựa trên cơ sở dữ liệu vật lý của bạn.

Khi bạn cần sử dụng dịch vụ định hướng phương pháp, như "Chèn khách hàng", "Tính tổng số đơn hàng cho khách hàng", v.v. thì dịch vụ WCF dựa trên SOAP sẽ phù hợp hơn. Một dịch vụ WCF dựa trên SOAP định nghĩa một hợp đồng dịch vụ (tập các phương thức trên dịch vụ của bạn) và cho phép bạn gọi các phương thức đó trên đối tượng dịch vụ của bạn.

SOAP tuyệt vời khi thực hiện công việc kinh doanh theo định hướng giao dịch - đó là tự mô tả, ví dụ: khách hàng của bạn có thể khám phá và thẩm vấn dịch vụ SOAP (một khu vực mà REST thiếu sót - không có "WSDL" hoặc thứ gì đó có thể so sánh được với các dịch vụ REST). Nếu bạn đang thực hiện SOAP, tôi cũng khuyên bạn nên sử dụng phương pháp dựa trên mô hình cho dữ liệu của bạn - tạo ra một mô hình cơ sở dữ liệu của bạn và trưng ra các phương pháp trên các thực thể đó tới thế giới bên ngoài - một lần nữa, sử dụng LINQ-to- SQL, Entity Framework, NHibernate hoặc một số công cụ mô hình hóa/ORM khác. Tôi sẽ không khuyên sử dụng ADO.NET "cổ điển" hay "xương trần" cho hầu hết công việc của bạn - nó chỉ là quá nhiều công việc và mã ngu ngốc - hãy để một khung như Linq-to-SQL hoặc EF xử lý những thứ cơ sở hạ tầng nhàm chán đó cho bạn và tập trung vào các yêu cầu và nhu cầu kinh doanh thực tế của bạn.

+0

Cảm ơn bạn đã trả lời toàn diện này. – Kottan