Trong WCF có một số loại ràng buộc dựa trên HTTP khác nhau:
Sự khác biệt giữa 3 là gì?
Cụ thể, sự khác biệt về tính năng / hiệu suất và khả năng tương thích là gì?
Trong WCF có một số loại ràng buộc dựa trên HTTP khác nhau:
Sự khác biệt giữa 3 là gì?
Cụ thể, sự khác biệt về tính năng / hiệu suất và khả năng tương thích là gì?
Câu trả lời:
Bạn đang so sánh táo với cam ở đây:
webHttpBinding là liên kết kiểu REST, về cơ bản bạn chỉ cần nhấn URL và lấy lại một khối lượng xe tải XML hoặc JSON từ dịch vụ web
basicHttpBinding và wsHttpBinding là hai ràng buộc dựa trên SOAP khác hoàn toàn với REST. SOAP có lợi thế là có WSDL và XSD để mô tả dịch vụ, phương thức của nó và dữ liệu được truyền đi rất chi tiết (REST chưa có gì tương tự - chưa). Mặt khác, bạn không thể chỉ duyệt đến điểm cuối wsHttpBinding bằng trình duyệt của mình và xem XML - bạn phải sử dụng ứng dụng khách SOAP, ví dụ WcfTestClient hoặc ứng dụng của riêng bạn.
Vì vậy, quyết định đầu tiên của bạn phải là: REST so với SOAP (hoặc bạn có thể đưa ra cả hai loại điểm cuối từ dịch vụ của mình - điều đó cũng có thể).
Sau đó, giữa basicHttpBinding và wsHttpBinding, có sự khác biệt như sau:
basicHttpBinding là ràng buộc rất cơ bản - SOAP 1.1, không nhiều về bảo mật, không nhiều về các tính năng - nhưng tương thích với bất kỳ ứng dụng khách SOAP nào ngoài đó -> tuyệt vời về khả năng tương tác, yếu về tính năng và bảo mật
wsHttpBinding là liên kết toàn diện, hỗ trợ rất nhiều tính năng và tiêu chuẩn WS- * - nó có nhiều tính năng bảo mật hơn, bạn có thể sử dụng các kết nối theo phiên, bạn có thể sử dụng tin nhắn đáng tin cậy, bạn có thể sử dụng kiểm soát giao dịch - chỉ cần nhiều thứ hơn , nhưng wsHttpBinding cũng nặng hơn rất nhiều * và thêm rất nhiều chi phí cho tin nhắn của bạn khi chúng truyền qua mạng
Để so sánh chuyên sâu (bao gồm bảng và ví dụ mã) giữa hai bài kiểm tra bài viết về bảng mã này: Sự khác biệt giữa BasicHttpBinding và WsHttpBinding