Chúng tôi có một dịch vụ có một số cài đặt chỉ được hỗ trợ trên net.tcp. Cách tốt nhất để thêm điểm cuối khác là gì? Tôi có cần tạo một máy chủ hoàn toàn mới không?Dịch vụ có thể có nhiều điểm cuối không?
Trả lời
Dịch vụ có thể có nhiều điểm cuối trong cùng một máy chủ, nhưng mỗi điểm cuối phải có kết hợp địa chỉ, ràng buộc và hợp đồng duy nhất. Đối với dịch vụ được lưu trữ trên IIS (có nghĩa là tệp .SVC), chỉ cần đặt địa chỉ của điểm cuối thành tương đối URI và đảm bảo rằng ứng dụng khách Visual Studio hoặc wsdl.exe của bạn chỉ định tên của điểm cuối trong hàm tạo của nó.
Xem thêm bài viết MSDN Multiple Endpoints.
Bạn sẽ cần phải tạo một máy chủ hoàn toàn mới nếu bạn hiện đang sử dụng IIS làm máy chủ lưu trữ của bạn - IIS chỉ hỗ trợ HTTP và không ràng buộc TCP. Tuy nhiên, nếu bạn đang sử dụng WS hoặc một dịch vụ windows, thì bạn sẽ có thể thoát khỏi bằng cách tạo một điểm cuối net.tcp mới.
Bạn có thể có nhiều điểm cuối được xác định trên máy chủ hoặc ứng dụng khách.
Để làm điều đó trên máy khách, bạn chỉ cần chỉnh sửa tệp app.config của mình với điểm cuối mới có tên khác, sau đó xác định thời điểm bạn tạo ứng dụng khách mới.
Ví dụ nếu bạn có một thiết bị đầu cuối trong ứng dụng của khách hàng của bạn như:
<endpoint address="https://yourdomain.com/WCF/YourService.svc"
binding="basicHttpBinding"
bindingConfiguration="BasicHttpBinding_IYourService"
contract="MessagingService.IYourService"
name="BasicHttpBinding_IYourService" />
nào bạn gọi theo:
YourServiceClient client = new YourServiceClient();
Bạn có thể thêm một thiết bị đầu cuối mới với một cái tên mới:
<endpoint address="https://yourotherdomain.com/WCF/YourService.svc"
binding="basicHttpBinding"
bindingConfiguration="BasicHttpBinding_IYourService"
contract="MessagingService.IYourService"
name="BasicHttpBinding_IYourService_ENDPOINT2" />
Bạn có thể gọi với:
YourServiceClient client = new YourServiceClient("BasicHttpBinding_IYourService_ENDPOINT2");
Tôi vừa thay đổi miền ở trên, nhưng nếu bạn đã tạo phần cấu hình ràng buộc mới, bạn chỉ có thể thay đổi giá trị "bindingConfiguration".
- 1. Có cách nào để trưng ra nhiều dịch vụ WCF qua một điểm cuối không?
- 2. Điểm cuối duy nhất với nhiều hợp đồng dịch vụ
- 3. 40400: Không tìm thấy điểm cuối - Dịch vụ Windows Bus
- 4. Dịch vụ WCF không thể khởi động khi có nhiều hơn một dịch vụ
- 5. Đặt SPN trên địa chỉ điểm cuối cho điểm cuối dịch vụ NetNamedPipe
- 6. Lấy WSDL từ địa chỉ điểm cuối dịch vụ web
- 7. Điểm cuối dịch vụ WCF nhầm lẫn cục bộ
- 8. Hiển thị webHttpBinding điểm cuối trong dịch vụ WCF
- 9. Nhận điểm cuối hiện tại trên các Dịch vụ WCF?
- 10. Điểm cuối của Google Cloud có thể được truy cập bằng hàng đợi tác vụ không?
- 11. Dịch vụ lưu trữ tự WCF - Điểm cuối trong C#
- 12. Dịch vụ WCF phơi bày 2 điểm cuối trên 2 hợp đồng dịch vụ khác nhau
- 13. Có điều gì như quá nhiều dịch vụ WCF không?
- 14. Dịch vụ WCF có phải là dịch vụ web không?
- 15. Tôi có thể chỉ định nhiều điểm cuối cho Thông báo sự kiện Sendgrid không?
- 16. Điểm cuối NServiceBus có thể đăng ký với nhiều nhà xuất bản cùng một thông điệp không?
- 17. MySQL GIỮA không có điểm cuối
- 18. Ngoại lệ: Không thể tìm thấy phần tử điểm cuối mặc định khi gọi dịch vụ Bing dịch từ dịch vụ RESTFUL
- 19. Dịch vụ web RESTful không đồng bộ có thể không?
- 20. Dịch vụ '' đã không áp dụng (không cơ sở hạ tầng) điểm cuối
- 21. Có thể khởi động nhiều dịch vụ từ một ứng dụng Console bằng Topshelf không?
- 22. Không thể tìm thấy phần tử điểm cuối có tên và hợp đồng
- 23. WCF - Không thể gửi tin nhắn vì dịch vụ tại địa chỉ điểm cuối ... không có sẵn cho giao thức địa chỉ
- 24. Có thể sử dụng AsyncTask trong lớp Dịch vụ không?
- 25. Dịch vụ Windows không thể nhìn thấy semaphore có tên
- 26. Có thể khởi động dịch vụ bằng phím tắt không?
- 27. Có thể gọi dịch vụ web bằng javascript Indesign không?
- 28. Tôi có thể đưa dịch vụ vào chỉ thị không?
- 29. Ngoại lệ Socket: "Không có điểm cuối nào khác có sẵn từ trình ánh xạ điểm cuối"
- 30. Dịch vụ Góc có nên có trạng thái không?
Tôi nghĩ rằng II7 không hỗ trợ các ràng buộc không phải HTTP (tức là TCP). –