WCF so với Dịch vụ web
Dịch vụ web và Nền tảng Giao tiếp Windows (WCF) là hai phương thức mà các ứng dụng giao tiếp qua mạng.
Thông tin thêm về Dịch vụ Web
Dịch vụ web là các thành phần của ứng dụng, có thể được truy cập bằng các giao thức mở như SOAP (Giao thức truy cập đối tượng đơn giản), là một ngôn ngữ dựa trên XML do W3C phát triển, để mã hóa và truyền dữ liệu. SOAP sử dụng XML để mô tả dữ liệu và HTTP để truyền dữ liệu. Những lợi thế chính được cung cấp bởi các giao thức mở này là khả năng tương tác của các dịch vụ mặc dù có sự khác biệt về nền tảng và ngôn ngữ lập trình được sử dụng. Dịch vụ web sử dụng (WSDL) Ngôn ngữ mô tả dịch vụ web) để mô tả các dịch vụ và UDDI (Mô tả chung, Khám phá và Tích hợp) để liệt kê các dịch vụ khả dụng. Các dịch vụ web không cần trình duyệt web hoặc HTML để hoạt động và có thể chứa hoặc không thể chứa GUI như được định nghĩa bởi ứng dụng. Các dịch vụ web có thể được triển khai với ASP. NET.
Thông tin thêm về Windows Communication Foundation (WCF)
Windows Communication Foundation được giới thiệu để thay thế các nền tảng dịch vụ web trước đó và sử dụng kiến trúc hướng dịch vụ trong việc xây dựng các ứng dụng. Khả năng tương tác và nhiều mẫu thông báo, siêu dữ liệu dịch vụ, hợp đồng dữ liệu và nhiều mã hóa truyền tải là các tính năng của WCF. Các tính năng tin nhắn lâu bền, AJAX và REST và Giao dịch an toàn bổ sung thêm tính linh hoạt cho nền tảng so với các dịch vụ web trước đây.
Sự khác biệt giữa Dịch vụ Web và WCF là gì?
• Các dịch vụ web có thể được lưu trữ trong IIS (Dịch vụ Thông tin Internet) hoặc bên ngoài IIS, trong khi WCF có thể được lưu trữ trong IIS, WAS (Dịch vụ Kích hoạt Windows). Dịch vụ WCF thường có thể được lưu trữ trong IIS 5.1 hoặc 6.0, Dịch vụ kích hoạt quy trình Windows (WAS) được cung cấp như một phần của IIS phiên bản 7.0 và trong bất kỳ ứng dụng. NET nào. Để lưu trữ một dịch vụ web ở IIS phiên bản 5.1 hoặc 6.0, các dịch vụ web phải sử dụng HTTP làm giao thức truyền thông tin liên lạc.
• Trong nền tảng Dịch vụ Web, thuộc tính Dịch vụ Web sẽ được thêm vào đầu lớp trong khi trong WCF, sẽ có thuộc tính Hợp đồng Dịch vụ. Tương tự, thuộc tính Phương thức Web được thêm vào trên phương thức của dịch vụ Web trong khi, trong WCF, Hợp đồng Vận hành Dịch vụ sẽ được thêm vào phương thức trên cùng.
• Các dịch vụ web sử dụng các mã hóa XML 1.0, MTOM (Cơ chế Tối ưu hóa Truyền Thông báo) và DIME trong khi WCF sử dụng các mã hóa XML 1.0, MTOM và Binary. Cả hai nền tảng đều hỗ trợ các phương pháp mã hóa tùy chỉnh.
• Nền tảng dịch vụ web hỗ trợ tuần tự hóa XML trong khi, trong WCF, nền tảng dịch vụ hỗ trợ tuần tự hóa thời gian chạy.
• Dịch vụ WCF có thể đa luồng thông qua lớp Hành vi Dịch vụ, trong khi các dịch vụ web không thể đa luồng.
• Dịch vụ WCF hỗ trợ các loại ràng buộc khác nhau như BasicHttpBinding, WSHttpBinding, WSDualHttpBinding trong khi các dịch vụ Web chỉ sử dụng SOAP hoặc XML cho mục đích này.
• Các dịch vụ web được biên dịch thành một tập hợp thư viện lớp. Một tệp có tên là "tệp dịch vụ" được cung cấp có phần mở rộng là.asmx và chứa chỉ thị @ WebService xác định lớp chứa mã cho dịch vụ và tập hợp mà nó nằm trong WCF.