私はいくつかの異なるサービスと通信する必要があるWeb APIを持っています。現在、私は、次のセキュリティプロトコルを使用するように設定したWeb APIを持っています。要求ごとにセキュリティプロトコルを変更する(HttpClient)
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
APIは(Twitterのように言う)HttpClient
を経由して別のサービスに声をかけたとき、それはそのプロトコルを使用します。しかし同時に、別の要求がクラウドから何かにアクセスするために来るかもしれません。クラウドは何らかの理由でTLS(TLS 1.2ではなく)を必要とします。クラウドへの要求は、アウト焼成前に、再度、セキュリティプロトコルを設定します。
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls;
二つの別々のユニークな要求は、Twitterのための1とクラウドのための1つの中に来るとき、私はに実行している問題がありますセキュリティプロトコルが送信される前に「間違ったもの」に切り替わり、要求が失敗する可能性があります。
リクエストごとにHttpClient
のセキュリティプロトコルを設定する方法はありますか?私はどこかでシングルトンの設定を入れ替えないようにしていますか?
私はAppDomainを使用して奇妙なサーバーに要求を分離し、要求ごとにセキュリティプロトコルを切り替えることにしました。 http://www.superstarcoders.com/blogs/posts/executing-code-in-a-separate-application-domain-using-c-sharp.aspx – Porschiey