2010-06-10 38 views

Trả lời

7

WCF là cơ sở hạ tầng truyền thông cho các dịch vụ nói chung. Dịch vụ WCF RIA tự động tạo các đối tượng proxy máy khách và máy chủ để tạo điều kiện phát triển ứng dụng, và phụ thuộc vào WCF để thực hiện giao tiếp thực tế. Các dịch vụ dữ liệu ADO.Net đã được đổi tên thành WCF Data Services và cung cấp các dịch vụ OData trên WCF.

1

Cái này là bởi Collin Blair

http://forums.silverlight.net/t/103015.aspx/1

Bạn câu hỏi tương tự như hỏi những gì khác biệt giữa một chiếc bánh hamburger đơn giản và một hambuger đó là lý do tại sao rất khó để có được một câu trả lời thẳng. Nhận được câu trả lời hay cũng bị cản trở bởi thực tế là RIA Services sẽ không "hoàn thành tính năng" cho đến ít nhất PDC vì vậy bất kỳ câu trả lời nào bạn nhận được đều dựa trên kỳ vọng và đầu cơ. Cuối cùng, RIA Services là số nhiều vì một lý do, có nhiều lớp trong RIA Services làm những việc khác nhau. Đây là câu trả lời của tôi dựa trên lộ trình và sự hiểu biết của tôi về các mục tiêu của nhóm Dịch vụ RIA.

Dịch vụ RIA là thư viện các thành phần máy khách và máy chủ có khả năng truy cập vào dịch vụ dữ liệu ADO.NET. Khi đầy đủ các dịch vụ RIA được sử dụng, sự khác biệt giữa Dịch vụ RIA và WCF đơn giản như sau:

Các đối tượng dữ liệu phía máy khách được tạo dựa trên các đối tượng phía máy chủ thực tế thay vì hợp đồng dịch vụ. Điều này cho phép RIA Services cung cấp mô hình đối tượng phía khách hàng phong phú hơn bằng cách bao gồm bất kỳ quy tắc kinh doanh và mối quan hệ nào giữa các đối tượng. Tuy nhiên, điều này có nghĩa là Dịch vụ RIA sẽ mang lại một số tính linh hoạt so với WCF đơn giản. Ví dụ, Riza Services serializaer hiện không hỗ trợ một số kiểu dữ liệu mà WCF có thể xử lý. Dịch vụ RIA, như Dịch vụ dữ liệu ADO.NET, hỗ trợ nối tiếp các truy vấn LINQ giữa máy khách và máy chủ. Điều này có nghĩa rằng khách hàng có thể tạo truy vấn LINQ và có nó chạy phía máy chủ. Dịch vụ RIA, không giống như các dịch vụ dữ liệu ADO.NET thuần túy, không tự động tạo CRUD khi chạy. Đối với những người quen thuộc với SQL Server, tôi mô tả ADO.NET Data Services như hỗ trợ các trigger thường xuyên (hay còn gọi là interceptor truy vấn) trong khi RIA Services yêu cầu các trigger INSTEAD OF.

1

Câu trả lời sau không phải do tôi, nhưng vẫn trả lời một phần câu hỏi chưa được trả lời.

sao chép-dán câu trả lời này từ đây https://social.msdn.microsoft.com/Forums/en-US/687426d9-709f-4e73-8c4c-dd3630f006e7/wcf-data-service-or-wcf-service?forum=adodotnetdataservices

WCF Dịch vụ là hoạt động trung tâm - điều chính bạn làm với những là xác định hoạt động (chức năng). Dữ liệu đến như là một điều phụ trong một cách . Mặt khác, họ có thể làm việc trên nhiều giao dịch/giao thức khác nhau của . Bạn có khả năng xác định rõ ràng những gì mà ứng dụng có thể và không thể thực hiện được. Khách hàng không thể thực hiện các truy vấn/hoạt động mới , máy chủ phải triển khai mọi nhu cầu của khách hàng .

WCF Dịch vụ dữ liệu là trung tâm dữ liệu - điều chính bạn làm với các là xác định mô hình dữ liệu sẽ được hiển thị.Các thao tác trên dữ liệu là "được xác định trước" (Tạo/Xóa/Cập nhật/Đọc). Nó chỉ hỗ trợ giao thức HTTP và sử dụng REST. Bạn thường cho phép khách hàng quyết định những gì họ muốn làm (trong một số ranh giới). Một trong những sự khác biệt chính từ WCF Dịch vụ là khách hàng có thể đưa ra một truy vấn đối với mô hình dữ liệu (nghĩ SQL giống như công cụ) mà khách hàng xây dựng. Điều này có nghĩa rằng máy chủ không cần phải biết chính xác những gì khách hàng cần lên trước , khách hàng sẽ có thể cho biết thời gian chạy.

Vitek Karas [MSFT]

Các vấn đề liên quan