WCF - Kiến trúc
WCF có kiến trúc phân lớp cung cấp nhiều hỗ trợ cho việc phát triển các ứng dụng phân tán khác nhau. Kiến trúc được giải thích chi tiết bên dưới.
Hợp đồng
Lớp hợp đồng nằm ngay bên cạnh lớp ứng dụng và chứa thông tin tương tự như hợp đồng trong thế giới thực chỉ định hoạt động của một dịch vụ và loại thông tin có thể truy cập mà nó sẽ tạo ra. Về cơ bản, hợp đồng có bốn loại được thảo luận ngắn gọn dưới đây -
Service contract - Hợp đồng này cung cấp thông tin cho khách hàng cũng như thế giới bên ngoài về các dịch vụ của điểm cuối và các giao thức được sử dụng trong quá trình giao tiếp.
Data contract- Dữ liệu được trao đổi bởi một dịch vụ được xác định bởi một hợp đồng dữ liệu. Cả khách hàng và dịch vụ phải đồng ý với hợp đồng dữ liệu.
Message contract- Một hợp đồng dữ liệu được kiểm soát bởi một hợp đồng tin nhắn. Nó chủ yếu thực hiện việc tùy chỉnh định dạng kiểu của các tham số thông báo SOAP. Ở đây, cần đề cập rằng WCF sử dụng định dạng SOAP cho mục đích giao tiếp. SOAP là viết tắt của Simple Object Access Protocol.
Policy and Binding- Có một số điều kiện trước để giao tiếp với một dịch vụ và các điều kiện đó được xác định bởi chính sách và hợp đồng ràng buộc. Khách hàng cần tuân theo hợp đồng này.
Thời gian chạy dịch vụ
Lớp thời gian chạy dịch vụ nằm ngay dưới lớp hợp đồng. Nó chỉ định các hành vi dịch vụ khác nhau xảy ra trong thời gian chạy. Có nhiều loại hành vi có thể trải qua cấu hình và nằm trong thời gian chạy dịch vụ.
Throttling Behavior - Quản lý số lượng tin nhắn được xử lý.
Error Behavior - Xác định kết quả của bất kỳ lỗi dịch vụ nội bộ nào.
Metadata Behavior - Chỉ định tính khả dụng của siêu dữ liệu với thế giới bên ngoài.
Instance Behavior - Xác định số lượng phiên bản cần được tạo để cung cấp chúng cho khách hàng.
Transaction Behavior - Cho phép thay đổi trạng thái giao dịch trong trường hợp thất bại.
Dispatch Behavior - Kiểm soát cách thức mà một thông báo được xử lý bởi cơ sở hạ tầng của WCF.
Concurrency Behavior - Kiểm soát các chức năng chạy song song trong giao tiếp máy khách-máy chủ.
Parameter Filtering - Tính năng quá trình xác thực các tham số cho một phương thức trước khi nó được gọi.
Nhắn tin
Lớp này, bao gồm một số kênh, chủ yếu xử lý nội dung thông báo được giao tiếp giữa hai điểm cuối. Một tập hợp các kênh tạo thành một ngăn xếp kênh và hai loại kênh chính bao gồm ngăn xếp kênh là những loại sau:
Transport Channels - Các kênh này hiện diện ở cuối ngăn xếp và chịu trách nhiệm gửi và nhận tin nhắn bằng các giao thức truyền tải như HTTP, TCP, Peer-to-Peer, Named Pipes và MSMQ.
Protocol Channels - Trình bày ở trên cùng của ngăn xếp, các kênh này còn được gọi là kênh phân lớp, thực hiện các giao thức cấp dây bằng cách sửa đổi các thông báo.
Kích hoạt và Lưu trữ
Lớp cuối cùng của kiến trúc WCF là nơi mà các dịch vụ thực sự được lưu trữ hoặc có thể được thực thi để khách hàng dễ dàng truy cập. Điều này được thực hiện bởi các cơ chế khác nhau được thảo luận ngắn gọn bên dưới.
IIS- IIS là viết tắt của Internet Information Service. Nó cung cấp vô số lợi ích khi sử dụng giao thức HTTP bởi một dịch vụ. Ở đây, không bắt buộc phải có mã máy chủ để kích hoạt mã dịch vụ; thay vào đó, mã dịch vụ được kích hoạt tự động.
Windows Activation Service- Điều này thường được gọi là WAS và đi kèm với IIS 7.0. Cả giao tiếp dựa trên HTTP và không dựa trên HTTP đều có thể thực hiện được ở đây bằng cách sử dụng giao thức TCP hoặc Namedpipe.
Self-hosting- Đây là cơ chế mà dịch vụ WCF được tự lưu trữ dưới dạng ứng dụng bảng điều khiển. Cơ chế này mang lại sự linh hoạt đáng kinh ngạc trong việc lựa chọn các giao thức mong muốn và thiết lập lược đồ địa chỉ riêng.
Windows Service - Lưu trữ một dịch vụ WCF với cơ chế này là thuận lợi, vì các dịch vụ sau đó vẫn được kích hoạt và có thể truy cập được đối với khách hàng do không phải kích hoạt thời gian chạy.