在多线程环境中调用具有不同证书类型的多个Web服务

Mat*_*näs 10 c# multithreading web-services certificate

我的问题:

我有一个webapp(.NET 4.5.1)对外部Web服务进行多次调用.某些服务仅通过SSL进行通信,而仅通过TSL进行通信.

我知道,出于某种原因,ServicePointManager.SecurityProtocol可以为appdomin静态设置全局(为什么它的全局我不知道),但由于多个调用可以同时发生在不同线程中的不同外部服务 - 我可以'只需为每个服务调用更改appdomain的SecurityProtcol.

题:

我应该如何在多线程Web应用程序环境中处理此问题?我应该在不同的应用程序域中生成服务调用,我可以在其中设置SecurityProtocol吗?如果是这样 - 我该怎么做?

oka*_*pov 0

来自微软:

公共静态 SecurityProtocolType SecurityProtocol { 获取;放; }

此属性选择安全套接字层 (SSL) 或传输层安全 (TLS) 协议的版本,以用于仅使用安全超文本传输​​协议 (HTTPS) > 方案的新连接;现有连接不会改变。

请注意:“用于新连接...现有连接不会更改”

因此,在打开新连接之前更新此属性