2012-01-16 29 views

Trả lời

3

Dự án võng làm cho nó rất dễ dàng để tiêu thụ các dịch vụ RESTful, bạn có thể sử dụng nó để dễ dàng tạo ra các yêu cầu http yêu cầu bạn cần:

https://github.com/danielcrenna/hammock

14

Check-out restsharp. Tôi đã không sử dụng nó, nhưng tôi đang tìm kiếm nó để tiêu thụ các dịch vụ REST của chúng ta.

+0

Cách tính năng này hoạt động? Là restsharp một lựa chọn tốt? Có vẻ siêu thuận tiện và dễ sử dụng. – Jonathan

+0

Vâng, tôi thực sự thích sử dụng nó. –

2

Tôi nghĩ WCF là thích hợp hơn bất cứ khi nào bạn muốn sự trừu tượng mà nó cung cấp.

WCF cung cấp sự trừu tượng hóa các giao thức nhắn tin và giao tiếp cụ thể đang được sử dụng. Thậm chí chỉ xem xét một kịch bản RESTful, bạn có thể dễ dàng thích nghi với các định dạng thông điệp khác nhau (XML, JSON, HTML).

WCF cũng cung cấp cơ chế cấu hình, điểm mở rộng và thiết bị đo đạc.

+0

Đối với bất cứ ai đọc điều này bây giờ: WCF về cơ bản là đã chết. Nếu bạn cảm thấy thích nhìn vào nó, hãy biết đó là một khởi hành hoàn chỉnh từ REST, và chỉ nên được sử dụng nếu bạn thực sự biết bạn cần nó. – TheMonarch

+0

@ TheMonarch bạn dường như dưới ấn tượng rằng WCF được gắn với một bộ giao thức cụ thể. Đánh giá bằng bình luận của bạn, bạn có thể kết hợp WCF với các công nghệ SOA khác nhau như XML và SOAP. WCF thực chất là một khung giao tiếp được thiết kế để mở rộng cho các giao thức khác nhau. Đúng là hầu hết các phần mở rộng out-of-the-box có liên quan đến SOA (một hệ quả của thời điểm WCF được phát hành) nhưng các phần mở rộng có thể được viết/tồn tại cho REST (HTTP/JSON), các bộ đệm giao thức, gRPC, hoặc thậm chí là một giao thức tùy chỉnh. –

16

Thư viện HTTP mới nhất của Microsoft là ở đây https://www.nuget.org/packages/Microsoft.Net.Http và tôi có bài đăng trên blog hiển thị cách sử dụng nó here.

Bạn sẽ không bao giờ muốn sử dụng WebChannelFactory đối với dịch vụ RESTful. Các khớp nối được tạo ra bởi WebChannelFactory đánh bại điểm của REST.

+0

Liên kết blog của bạn đã chết, bạn có thể sửa nó không? – dcp

+0

@dcp Xin lỗi về điều đó. –

+1

Bạn cũng sẽ muốn xem gói này: http://www.nuget.org/packages/Microsoft.Net.Http/ – Gilney

2

Có vài cách khác nhau để tiêu thụ các dịch vụ REST trong .NET:

Tôi đã viết blog post thể hiện ba lựa chọn đầu tiên.

Khi tiêu thụ thông qua WCF hoặc HttpClient, tôi cho rằng cần đọc số SO question để hiểu tiềm năng của các dịch vụ REST. Khi bạn sử dụng một dịch vụ REST thông qua WCF, bạn không thể sử dụng tất cả sức mạnh đó.

0

Đây là một kỹ thuật gọi điện thoại hoặc tiêu thụ còn lại webservice trong asp.net C#

var client = new RestClient("url"); 
var request = new RestRequest(Method.POST); 

request.AddHeader("content-type", "application/json"); 
request.AddParameter("application/x-www-form-urlencoded", 
    "type=password& [email protected]",ParameterType.RequestBody); 

IRestResponse response = client.Execute(request); 
0

tôi vừa phát hành một khách hàng REST của ở đây hôm nay. Bạn có thể tải xuống repo Git để xem các mẫu.

  • Nguồn mở. (Giấy phép MIT)
  • Ngôn ngữ đánh dấu không thuyết phục. (Hỗ trợ JSON, SOAP và các ngôn ngữ đánh dấu khác)
  • Sử dụng các loại mạnh với REST.
  • Hỗ trợ Android, iOS, Windows 10, Windows 10 Điện thoại, Silverlight, .NET, .NET Core.
  • Vô cùng đơn giản.
  • Không đồng bộ thân thiện (sử dụng không đồng bộ, đang chờ từ khóa).

Khi được WCF (sử dụng WebChannelFactory) thích hợp hơn để HttpClient?

Đó là câu hỏi rất được tải. WCF là một bộ sưu tập rất lớn các công nghệ cho phép bạn giao tiếp với một số giao thức khác nhau, các phương thức xác thực, v.v. Nó rất dễ cấu hình, nhưng REST rất đơn giản và được hỗ trợ bởi gần như tất cả các công nghệ có sẵn. Nếu bạn viết một dịch vụ REST, rất có thể là gần như bất kỳ ứng dụng nào cũng có thể sử dụng nó. Thực sự, câu hỏi là về đối tượng mục tiêu của bạn là ai.

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