O agrupamento de conexões HTTP é possível?

Para um webservice c # que contate um conjunto limitado de outros servidores, desejo criar um conjunto de conexões HTTP por servidor com o qual desejo entrar em contato.

O conceito básico do curso:

Cada pool deve abrir algumas conexões (3 conexões?) Para seu servidor remoto e manter essas conexões ativas.Um máximo de tempo de vida deve ser usado para reciclar (desconectar / reconectar) as conexões com o servidor remoto, impedindo que o servidor remoto se desconecte antes de fazer isso.As conexões não devem ser criadas simultaneamente, mas com uma pequena pausa entre as 3 conexões, para que a reciclagem também não aconteça simultaneamente.Se o servidor remoto ainda se desconectar inesperadamente, ele deve ser percebido e devemos nos reconectar.Se a reconexão não for possível por algum motivo, uma nova tentativa deve ser feita após uma pequena pausa.

Dessa forma, quando quero enviar um HttpWebRequest, tenho conexões prontas para uso, poupando o tempo de configuração da conexão no momento em que desejo usá-la.

No momento eu não sei se isso é mesmo um recurso padrão do HttpWebRequest. Desculpe se estou pedindo o óbvio. Procurar por isso só me levou a perguntas semelhantes para o Java.

Pergunta 1: existe tal coisa presente no .NET / c #?

Pergunta 2: se não, existe algum recurso sobre este presente na internet que você conhece?

Pergunta 3: se não, como abordar a construção de um eu mesmo?

questionAnswers(1)

yourAnswerToTheQuestion