Các tùy chọn của tôi để sử dụng dịch vụ RESTful bằng cách sử dụng khung .Net là gì? Khi nào WCF (sử dụng WebChannelFactory) thích hợp hơn với HttpClient?Làm thế nào để sử dụng một dịch vụ an toàn trong .NET?
Trả lời
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:
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.
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.
Đố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
@ 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. –
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.
Có vài cách khác nhau để tiêu thụ các dịch vụ REST trong .NET:
- Plain NET HTTP request cơ chế
- WCF
- HttpClient (đề nghị, nuget package)
- thư viện khác (RestSharp, Võng, v.v ..)
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 đó.
Đâ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);
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.
- 1. Android: Làm thế nào để unbind một dịch vụ an toàn
- 2. Dịch vụ web an toàn
- 3. Làm thế nào an toàn để gọi dịch vụ Amazon S3 từ iPhone?
- 4. gọi Dịch vụ an toàn từ Java
- 5. "sử dụng net" lệnh trong một dịch vụ Windows
- 6. Dịch vụ an toàn trong .NET với WADL thay vì WSDL
- 7. Sử dụng 'HttpContext.Current.Cache' một cách an toàn
- 8. Làm thế nào để sử dụng dịch vụ dịch trong một thực thể?
- 9. Làm thế nào để Bắt đầu/Dừng một dịch vụ Windows từ một ứng dụng ASP.NET - An ninh phát
- 10. Làm cách nào để sử dụng an toàn -XX: -UseSplitVerifier?
- 11. API WPF có thể được sử dụng an toàn trong dịch vụ WCF không?
- 12. là LocaleContextHolder an toàn trong lớp dịch vụ
- 13. tải xuống tệp trong các dịch vụ web an toàn
- 14. Làm thế nào để sử dụng một cách an toàn các chức năng Linux mới?
- 15. Làm cách nào để bảo mật dịch vụ web an toàn với oauth?
- 16. Làm cách nào để sử dụng dữ liệu json từ tệp bên ngoài bằng dịch vụ an toàn angularJS
- 17. để dễ dàng thử dịch vụ an toàn
- 18. Mẫu URI cho POST/PUT dịch vụ an toàn
- 19. Làm thế nào để tăng an toàn asio fork
- 20. Linux: Làm thế nào để tạo một daemon/dịch vụ có thể sử dụng với xinetd?
- 21. Có an toàn khi sử dụng images.get_serving_url_async() bên trong một nhiệm vụ ndb không?
- 22. cách gọi dịch vụ nghỉ ngơi an toàn https từ android bằng cách sử dụng httpclient
- 23. Xóa an toàn tệp trong C# .NET
- 24. Làm thế nào để sử dụng Fiddler để giám sát một Dịch vụ Windows?
- 25. Giao tiếp dịch vụ an toàn của Jersey (IncompatibleClassChangeError)
- 26. Dịch vụ RIA .NET/Dịch vụ WCF
- 27. Tôi làm cách nào để sử dụng Powershell để truy cập webservice an toàn?
- 28. làm thế nào để bắt đầu/dừng các dịch vụ sử dụng lệnh net stop trong C#
- 29. Biến an toàn phiên PHP an toàn như thế nào?
- 30. JAVA Dịch vụ web ổn định và PHP Dịch vụ web an toàn. Tốt nhất?
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
Vâng, tôi thực sự thích sử dụng nó. –