¿Es posible la agrupación de conexiones HTTP?

Para un servicio web de C # que contacta con un conjunto limitado de otros servidores, deseo crear 1 grupo de conexión HTTP por servidor con el que deseo poder contactar.

El concepto básico por supuesto:

Cada grupo debe abrir algunas conexiones (¿3 conexiones?) A su servidor web remoto y mantener esas conexiones activas.Se debe utilizar un tiempo de vida útil máximo para reciclar (desconectar / volver a conectar) las conexiones al servidor web remoto, evitando que el servidor web remoto se desconecte antes que nosotros.Las conexiones no deben crearse simultáneamente, sino con una pequeña pausa entre las 3 conexiones, de modo que el reciclaje tampoco ocurra simultáneamente.Si el servidor web remoto aún se desconecta inesperadamente, debe notarse y debemos reconectarnos.Si la reconexión no es posible por algún motivo, se debe volver a intentar después de una pequeña pausa.

De esta manera, cuando deseo enviar un HttpWebRequest, tengo conexiones listas para usar, ahorrando el momento de configurar la conexión en el momento en que quiero usarla.

Por el momento, no sé si esta es una característica predeterminada de HttpWebRequest. Lo siento mucho si estoy pidiendo lo obvio. Buscar en Google para esto solo me llevó a preguntas similares para Java.

Pregunta 1: ¿existe tal cosa en .NET / c #?

Pregunta 2: de no ser así, ¿hay algún recurso sobre este presente en Internet que conozca?

Pregunta 3: si no, ¿cómo abordar la construcción de uno mismo?

Respuestas a la pregunta(1)

Su respuesta a la pregunta