2009-04-13 36 views
50

Tôi đã ấn tượng rằng điểm cuối được định nghĩa trong tệp cấu hình là danh sách khách hàng có thể nhưng điều đó không có ý nghĩa (theo ý tôi cho rằng máy tính có thể kết nối với dịch vụ) nó là một định nghĩa hơn, vì vậy ai đó vui lòng giải thích điểm cuối cùng là gì đối với tôi? Tôi hiểu khái niệm về việc xác định giao diện hợp đồng và sau đó thực hiện hợp đồng nhưng tôi bị mất một nơi nào đó giữa đó và thực sự có thứ gì đó có thể sử dụng được."Điểm cuối" trong WCF là gì?

Địa chỉ trong ngữ cảnh này là gì? địa chỉ host?

Ràng buộc là phương thức/giao thức truyền thông để sử dụng đúng?

hợp đồng là "đối tượng được chia sẻ" về cơ bản (có tôi biết rằng rất kỹ thuật không chính xác nhưng làm việc với tôi ở đây)

Trả lời

70

Một điểm cuối là những gì một dịch vụ cho thấy, và về WCF, được tạo thành từ ba điều:

  • Địa chỉ
  • Binding
  • Hợp đồng

Địa chỉ là URL của mà điểm cuối có thể đạt được.

Ràng buộc ra lệnh chuyển đổi được áp dụng cũng như hình dạng (ở mức độ nào đó) của các thư được gửi đến việc triển khai Hợp đồng tại Địa chỉ.

Hợp đồng quy định những hoạt động nào đang được hiển thị tại địa chỉ. Đó là chính xác những gì nó nói nó là, đó là một hợp đồng để chỉ ra những gì các cuộc gọi được phép.

Hầu hết thời gian, mọi người nhớ đến nó như A B C.

Một số điều cần lưu ý:

Các ràng buộc thường sẽ là một sự kết hợp của các kênh truyền hình với hành vi áp dụng; các kênh là các yếu tố trên ngăn xếp kênh thay đổi thông điệp và thực hiện các hành động trước khi chúng thực hiện dịch vụ.

Mặc dù thường được biểu diễn bằng giao diện trong .NET, nhưng không yêu cầu hợp đồng được biểu diễn theo cách này. Một số người ủng hộ thiết kế đầu tiên sẽ định nghĩa các lược đồ cho các thông báo sẽ được gửi cho yêu cầu và đáp ứng đầu tiên, đó là những gì WCF biến đổi giao diện .NET Contract thành.

+0

Điều này hữu ích ... nếu tôi muốn viết một dịch vụ liên lạc hai chiều, tôi sẽ làm thế nào để xây dựng nó? giả sử tôi có một hệ thống với các ứng dụng A và B, nếu A gửi 'ping' B chờ 1 giây và gửi lại pong, sau đó nhắc A đợi 1 giây và gửi lại ping. – Firoso

+0

@firoso: Đó là một cái bắt tay ba chiều, và trong trường hợp này tôi sẽ định nghĩa B là máy chủ. A sẽ gọi phương thức Ping trên B. Bạn sẽ định nghĩa một hợp đồng gọi lại cho thao tác Ping sẽ hiển thị Pong. Sau đó, khi Pong được gọi vào A, nó sẽ gọi Ping một lần nữa trên B. – casperOne

+0

Điều này có ý nghĩa, nhưng tôi nghĩ rằng tôi sẽ cần một thời gian để hấp thụ thêm thông tin ... Cảm ơn bạn đã phản ứng nhanh chóng. – Firoso

3

Xem here: Một điểm cuối dịch vụ xác định một địa chỉ, một ràng buộc, và một hợp đồng sử dụng để giao tiếp.

17

Tôi sẽ trích dẫn Juval Lowy của Lập trình WCF Services đây:

Mỗi dịch vụ có liên quan đến một địa chỉ xác định nơi dịch vụ là một ràng buộc xác định làm thế nào để giao tiếp với các dịch vụ và hợp đồng xác định dịch vụ nào. Điều này triumvirate chi phối dịch vụ dễ nhớ như ABC của dịch vụ.

WCF chính thức hóa mối quan hệ này dưới dạng điểm cuối.Điểm cuối là sự hợp nhất địa chỉ, hợp đồng và ràng buộc.

Mỗi điểm cuối phải có tất cả ba phần tử và máy chủ hiển thị điểm cuối .

5

Điểm cuối dịch vụ có địa chỉ, ràng buộc và hợp đồng. Địa chỉ của Endpoint là địa chỉ mạng nơi Endpoint cư trú. Lớp EndpointAddress đại diện cho một địa chỉ điểm cuối WCF. Ràng buộc của Endpoint chỉ định cách Endpoint giao tiếp với thế giới bao gồm những thứ như giao thức truyền tải (ví dụ: TCP, HTTP), mã hóa (ví dụ: văn bản, nhị phân) và yêu cầu bảo mật (ví dụ: SSL, bảo mật thư SOAP). Lớp Binding đại diện cho một ràng buộc WCF. Hợp đồng của Endpoint chỉ định những gì Endpoint giao tiếp và về cơ bản là tập hợp các thông điệp được tổ chức trong các hoạt động có các mẫu trao đổi thông điệp cơ bản (MEP) như một chiều, song công và yêu cầu/trả lời. Lớp ContractDescription đại diện cho một hợp đồng WCF.

1

Điểm cuối dịch vụ có Địa chỉ, Ràng buộc và Hợp đồng. Địa chỉ của Endpoint là địa chỉ mạng nơi Endpoint cư trú. Lớp EndpointAddress đại diện cho một địa chỉ điểm cuối WCF. Ràng buộc của Endpoint chỉ định cách Endpoint giao tiếp với thế giới bao gồm những thứ như giao thức truyền tải (ví dụ: TCP, HTTP), mã hóa (ví dụ: văn bản, nhị phân) và yêu cầu bảo mật (ví dụ: SSL, bảo mật thư SOAP). Lớp Binding đại diện cho một ràng buộc WCF. Hợp đồng của Endpoint xác định những gì Endpoint giao tiếp và về cơ bản là tập hợp các thông điệp được tổ chức trong các hoạt động có các mẫu trao đổi thông điệp cơ bản (MEP) như một chiều, song công và yêu cầu/trả lời. Lớp ContractDescription đại diện cho một hợp đồng WCF.

12

Điểm cuối trong WCF
Dịch vụ WCF là chương trình hiển thị tập hợp các Điểm cuối. Mỗi Endpoint là một cổng để giao tiếp với thế giới. Điểm kết thúc bao gồm ba thành phần.
1) Địa chỉ:
      Xác nơi một dịch vụ nằm
      cũ - http://www.test.com:8001/MyService
2) Bindings:
      Một ràng buộc mà xác định làm thế nào một khách hàng có thể giao tiếp với điểm cuối.
      cũ - BasicHttpBinding, wsHttpBinding, WSDualHttpBinding vv
3) Hợp đồng:
      Hợp đồng xác định hoạt động có sẵn

thiết bị đầu cuối sẽ được đề cập trong tập tin web.config trên tạo dịch vụ.

0

Điểm cuối dịch vụ web có thể ẩn một số hoặc tất cả những điều này. Và dựa trên yêu cầu có thể quyết định xử lý Yêu cầu nội bộ.

Công cụ SRJTester (có sẵn trên Github) rất hay để chỉ định Điểm cuối, Hành động, giao thức, v.v. trong khi thực hiện yêu cầu dịch vụ.

Các vấn đề liên quan