Установка подключения к WebSocket с помощью HttpClient / HttpResponseMessage

#c# #networking #websocket

Вопрос:

Возможно ли в .Net472 инициировать подключение клиента WebSocket, используя только HttpClient / HttpResponseMessage?

Я дошел до того, что могу подать запрос с соответствующими заголовками и получить ответ 101 от сервера WS. Однако на этом все заканчивается; в настоящее время я не вижу способа открыть веб-сайт на основе ответа.

Я хотел бы избежать ClientWebSocket. Это, по-видимому, внутренне проходит через HttpWebResponse, который отображается в потоках ответов для особых случаев для запросов веб-сокетов (и создает поток WebSocketConnectionStream для ответа, на основе которого затем создается WebSocket). Я не нашел такой логики для HttpResponseMessages, но, возможно, я что — то упускаю.

(Для контекста, приложение, которое я разрабатываю, имеет целую инфраструктуру вокруг HttpClient — было бы ужасно пытаться втиснуть аналогичные конвейеры для еще одной технологии; поэтому, если бы я вообще мог использовать HttpClient, это было бы гораздо предпочтительнее)