Configuración por valor de solicitud para ServicePointManager.SecurityProtocol [duplicado]

Esta pregunta ya tiene una respuesta aquí:

Establezca SecurityProtocol (Ssl3 o TLS) en .net HttpWebRequest por solicitud 9 respuestas,

En c # puedo establecer un valor estático para SSL3 o TLS, p.

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls;

O:

ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;

Pero (creo) que esto afectará a todos los futuros objetos HttpWebRequest en mi aplicación.

¿Hay alguna manera de configurar esto para una HttpWebRequest dada o al menos para un URI dado?

Tenga en cuenta que he visto esto:

Uri uri = new Uri(url);
ServicePoint sp = ServicePointManager.FindServicePoint(uri);

Pero ServicePoint no tiene una propiedad SecurityProtocol.

Actualmente, creo que tendré que establecer la propiedad global estática antes de crear una nueva HttpWebRequest.

Esto no se siente bien y también significa:

Tengo que asegurarme de que varios hilos no estén haciendo esto al mismo tiempo.No estoy seguro de en qué punto se ha usado esta configuración (es decir, cuando llamo a webRequest.GetResponse () que se accede al ServicePointManager.SecurityProtocol y está vinculado a ese URI?).

Respuestas a la pregunta(1)

Su respuesta a la pregunta