Tôi có API Web phải giao tiếp với một vài dịch vụ khác nhau. Hiện nay, tôi có API Web thiết lập để sử dụng giao thức bảo mật sau:Thay đổi giao thức bảo mật theo yêu cầu (HttpClient)
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
Khi API gọi ra một dịch vụ khác qua HttpClient
(nói như Twitter), nó sẽ sử dụng giao thức đó. Tuy nhiên, cùng một yêu cầu khác có thể đến để truy cập một thứ gì đó từ đám mây, vì bất kỳ lý do gì, hiện yêu cầu TLS (không phải TLS 1.2). Yêu cầu các đám mây, trước khi bắn ra, bộ giao thức bảo mật một lần nữa:
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls;
Vấn đề tôi đang chạy vào là khi hai yêu cầu riêng biệt và độc đáo đi vào, một cho Twitter và một cho điện toán đám mây , giao thức bảo mật có thể chuyển sang "sai" trước khi gửi đi, khiến yêu cầu không thành công.
Có cách nào để đặt giao thức bảo mật trên HttpClient
theo yêu cầu để tôi không trao đổi xung quanh một cài đặt ở một số singleton ở đâu đó không?
Đối với bất kỳ ai gặp vấn đề này và vẫn bị kẹt, tôi quyết định sử dụng AppDomain để cô lập các yêu cầu tới máy chủ lẻ, cho phép chuyển đổi giao thức bảo mật theo yêu cầu. http://www.superstarcoders.com/blogs/posts/executing-code-in-a-separate-application-domain-using-c-sharp.aspx – Porschiey