Tôi đang truy vấn trong một thời gian dài. Chúng tôi cần sử dụng API WEB ở đâu và chúng tôi nên sử dụng các dịch vụ WCF ở đâu. Những gì chúng tôi muốn đạt được trong WEB API chúng tôi có thể đạt được trong WCF Rest. Tôi đã cố gắng để khai thác vào câu trả lời nhưng tôi đã nhận chúng tôi cần phải làm thiết lập thêm trong wcf như URI mẫu, Hợp đồng, thiết bị đầu cuối. Nhưng nhiều hơn về cài đặt, nhưng tôi muốn biết lý do thực sự đằng sau việc sử dụng WCF Restful Services.Sự khác nhau giữa các dịch vụ an toàn wcf và WEB API
Trả lời
Web Service
- Nó dựa trên SOAP và trả về dữ liệu ở định dạng XML.
- Nó chỉ hỗ trợ giao thức HTTP.
- Nó không phải là nguồn mở nhưng có thể được sử dụng bởi bất kỳ khách hàng nào hiểu XML.
- Chỉ có thể lưu trữ trên IIS.
WCF
- Nó cũng dựa trên SOAP và trả về dữ liệu ở định dạng XML.
- Đó là sự phát triển của các dịch vụ web (ASMX) và hỗ trợ các giao thức khác nhau như TCP, HTTP, HTTPS, Đặt tên đường ống, MSMQ.
- Vấn đề chính với WCF là cấu hình tẻ nhạt và phong phú của nó.
- Nó không phải là nguồn mở nhưng có thể được sử dụng bởi bất kỳ khách hàng nào hiểu XML.
- Nó có thể được lưu trữ trong ứng dụng hoặc trên IIS hoặc sử dụng dịch vụ cửa sổ.
WCF REST của
- Để sử dụng WCF như một dịch vụ WCF REST của bạn phải kích hoạt
webHttpBindings
. - Nó hỗ trợ các động từ HTTP GET và POST bằng các thuộc tính
[WebGet]
và[WebInvoke]
tương ứng. - Để bật các động từ HTTP khác, bạn phải thực hiện một số cấu hình trong IIS để chấp nhận yêu cầu của động từ cụ thể đó trên các tệp
.svc
. - Truyền dữ liệu qua các tham số bằng cách sử dụng cấu hình
WebGet
cần. Phải ghi rõUriTemplate
. - Nó hỗ trợ định dạng dữ liệu XML, JSON và ATOM.
Web API
- Đây là khuôn khổ mới cho việc xây dựng các dịch vụ HTTP một cách dễ dàng và đơn giản.
- API Web là nguồn mở là nền tảng lý tưởng để xây dựng các dịch vụ RESTful bằng .NET Framework.
- Không giống như dịch vụ REST WCF, nó sử dụng đầy đủ các tính năng của HTTP (như URI, yêu cầu/tiêu đề phản hồi, bộ nhớ đệm, phiên bản, các định dạng nội dung khác nhau).
- Nó cũng hỗ trợ các tính năng của MVC như định tuyến, bộ điều khiển, kết quả hành động, bộ lọc, chất kết dính mô hình, container IOC hoặc tiêm phụ thuộc, kiểm tra đơn vị làm cho nó đơn giản và mạnh mẽ hơn.
- Nó có thể được lưu trữ trong ứng dụng hoặc trên IIS.
- Đây là kiến trúc có trọng lượng nhẹ và phù hợp cho các thiết bị có băng thông hạn chế như điện thoại thông minh.
- Câu trả lời được định dạng bằng
MediaTypeFormatter
của API Web thành JSON, XML hoặc bất kỳ định dạng nào bạn muốn thêm dưới dạngMediaTypeFormatter
.
Lựa chọn giữa WCF hoặc Web API
- Chọn WCF khi bạn muốn tạo ra một dịch vụ mà nên hỗ trợ các tình huống đặc biệt như tin nhắn một cách, hàng đợi tin nhắn, thông tin liên lạc, vv duplex
- Chọn WCF khi bạn muốn tạo một dịch vụ có thể sử dụng các kênh truyền tải nhanh khi có sẵn, chẳng hạn như TCP, Named Pipes hoặc thậm chí UDP (trong WCF 4.5) và bạn cũng muốn hỗ trợ HTTP khi tất cả các kênh truyền tải khác không có sẵn.
- Chọn Web API khi bạn muốn tạo một dịch vụ hướng tài nguyên qua HTTP có thể sử dụng đầy đủ các tính năng của HTTP (như URI, yêu cầu/phản hồi tiêu đề, bộ nhớ đệm, phiên bản, định dạng nội dung khác nhau).
- Chọn API Web khi bạn muốn hiển thị dịch vụ của mình cho nhiều khách hàng bao gồm trình duyệt, điện thoại di động, iPhone và máy tính bảng.
Để biết thêm chi tiết, bạn có thể tham khảo http://www.c-sharpcorner.com/UploadFile/8a67c0/who-is-winner-web-api-or-wcf/.
Tôi vẫn chưa nhận được câu trả lời, chúng tôi vẫn có thể đạt được mọi thứ trong WCF Rest mà chúng tôi có thể thực hiện trong API WEB. Tại sao sau đó microsoft có WEB API, đó là nhược điểm lớn của WCF Rest trên WebApi Không bao gồm tất cả các thiết lập trên WCF phần – abhijit
xem abhijit nếu bạn muốn hiển thị chức năng của mình cho nhiều người dùng như thế này. ofcourse webApi là lựa chọn tốt nhất bạn có với trọng lượng nhẹ và các chức năng khác. – Mohit
- 1. Sự khác nhau giữa đề an toàn và an toàn
- 2. Sự khác nhau giữa thư viện dịch vụ WCF và ứng dụng dịch vụ WCF
- 3. Sự khác nhau giữa Dịch vụ Cửa sổ, ứng dụng Dịch vụ WCF và ứng dụng dịch vụ web ASP.NET?
- 4. Sự khác nhau giữa Ứng dụng Dịch vụ WCF và Thư viện Dịch vụ WCF là gì?
- 5. Sự khác nhau chính giữa API Web và ASP MVC
- 6. Dịch vụ web an toàn
- 7. Sự khác biệt giữa Dịch vụ WCF, Dịch vụ WCF RIA và Dịch vụ Dữ liệu WCF
- 8. Sự khác biệt giữa WCF Web API và WCF Data Services
- 9. Sự khác biệt giữa ASP.NET WebHooks và dịch vụ web?
- 10. JAVA Dịch vụ web ổn định và PHP Dịch vụ web an toàn. Tốt nhất?
- 11. Sự khác nhau giữa Asp.Net Web API và WCF Service là gì?
- 12. Sự khác biệt giữa dịch vụ web OData và REST
- 13. Sự khác biệt giữa servlet và dịch vụ web
- 14. Sự khác biệt giữa WCF và Lớp Dịch vụ Miền Dịch vụ RIA là gì?
- 15. sự khác biệt với WCF và các dịch vụ web khác là gì?
- 16. Sự khác nhau giữa dịch vụ web thông thường và dịch vụ web dựa trên xà phòng là gì?
- 17. Sự khác nhau giữa dịch vụ Spring Rest và dịch vụ Jersey Rest Service và Spring + Jersey là gì?
- 18. Sự khác biệt giữa API và dịch vụ web là gì?
- 19. Sự khác biệt giữa dịch vụ ASP.NET MVC 4 Web Api và REST cổ điển
- 20. Sự khác nhau giữa các API Office 365 và EWS
- 21. tải xuống tệp trong các dịch vụ web an toàn
- 22. Sự khác nhau giữa Azure Web Site và dịch vụ Azure Cloud là gì
- 23. API WPF có thể được sử dụng an toàn trong dịch vụ WCF không?
- 24. Sự khác nhau giữa điểm cuối, dịch vụ và cổng khi làm việc với dịch vụ web là gì?
- 25. . Net Tiêu thụ Dịch vụ Web: Các loại giống nhau trong hai dịch vụ khác nhau
- 26. Sự cố WebDav cho dịch vụ web WCF đầy đủ
- 27. Sự khác nhau giữa dịch vụ Lãnh Địa chỉ nét và Dịch vụ Địa chỉ
- 28. Sự khác biệt giữa tham chiếu web và tham chiếu dịch vụ?
- 29. API RESTful và API dịch vụ web
- 30. WCF - Xem yêu cầu xml/phản hồi tới dịch vụ web an toàn
nếu bạn muốn hiển thị dịch vụ HTTP sử dụng Web Api nếu không hãy sử dụng WCF – Thomas
Bản sao có thể có của [WCF vs ASP.NET Web API] (http://stackoverflow.com/questions/9348639/wcf-vs-asp-net -web-api) – Thomas