2012-01-13 17 views
8

Microsoft cung cấp WCF Data Services Client Library để triển khai các máy khách OData trong C#. Thư viện này hoạt động theo nguyên tắc tạo tham chiếu đã nhập vào dịch vụ OData.Làm thế nào để triển khai một máy khách OData động trong C#?

Cách tiếp cận tốt để triển khai ứng dụng khách OData trong C# mà không phải tạo giao diện dịch vụ đã nhập trước đó là gì? Nói cách khác, cách tốt nhất để triển khai một máy khách OData trong C# có thể làm việc với một số dịch vụ OData khác nhau là gì, với URL cơ sở và tên thực thể là các chuỗi?

Khách hàng như vậy sẽ sử dụng các đối tượng C# động hoặc từ điển để đại diện cho các thực thể, thay vì các đối tượng thực thể đã nhập.

Thư viện hoặc dự án hiện tại nào có thể được tận dụng để thực hiện việc này?

Một ứng dụng của kỹ thuật này là phát triển một thư viện trợ giúp bộ công cụ kiểm tra chung có thể được sử dụng để thực hiện các kiểm tra dịch vụ OData.

Trả lời

7

Con trỏ để OData-sdk trên là chắc chắn là một khởi đầu tốt. Đối với một trong những OData Explorer mà cũng được liệt kê trên trang web đó là gần như chính xác những gì bạn đang tìm kiếm. Đó là một dịch vụ OData "trình duyệt" chung.

Một cách tiếp cận khác (thậm chí có thể tốt hơn) sẽ là sử dụng Microsoft.Data.OData.dll. Đây là một phần của CTP mới nhất của WCF Data Services (http://blogs.msdn.com/b/astoriateam/archive/2011/10/13/announcing-wcf-data-services-oct-2011-ctp-for-net-4-and-silverlight-4.aspx). Đó là một trình đọc và viết thấp cho OData. Nó không giải quyết được việc xử lý URL, nhưng việc đọc và ghi các tải trọng hoạt động rất tốt. Có một ví dụ về cách sử dụng tại đây: http://blogs.msdn.com/b/astoriateam/archive/2011/10/14/introducing-the-odata-library.aspx

+0

Con trỏ tốt. Cảm ơn bạn. –

1

bạn cần gì hơn là một địa chỉ URL/String Parser cho điều này, để biết thêm khoan xuống tiếp cận bạn cũng có thể muốn xem xét một số tùy chọn ở đây:

http://www.odata.org/developers/odata-sdk

+0

Cảm ơn bạn đã phản hồi. Tôi nhận ra OData hoạt động trên HTTP và tôi có thể viết toàn bộ phân tích và yêu cầu logic, nhưng tôi đang cố gắng tìm hiểu xem có nhiều thư viện cấp cao hơn, sẵn sàng được nhắm mục tiêu cụ thể tại OData trong khi vẫn động và không được nhập. –

+0

Liên kết tôi đã cung cấp bao gồm các mã mẫu khách hàng đa dạng (Java, Silveright, PHP, v.v.), chỉ cần cuộn xuống một chút :) Để bắt đầu, một tham chiếu dịch vụ cũng có thể được thêm vào Tự động giao phối;) – Rizwan