Как проверить, как долго клиент может поддерживать HTTPS-соединение открытым?

#c# #testing #https #webrequest

#c# #тестирование #https #webrequest

Вопрос:

Я разрабатываю API, в документации которого говорится, что клиентский код должен иметь возможность поддерживать соединение HTTPS открытым до 15 секунд

Я хотел бы иметь возможность подтвердить этот критерий программно, предпочтительно с помощью интеграционного теста, который выполняется при каждой сборке и удерживает соединение открытым в течение 15 секунд перед передачей. (Если только C # WebRequests где-то не гарантируют, что они смогут поддерживать соединение открытым так долго)

Есть ли способ сделать это?

Ответ №1:

Это двусторонняя вещь; сервер должен поддерживать это, и клиенту, вероятно, нужно установить какой-то флаг сохранения. Смотрите здесь .

В этом примере значение KeepAlive равно false; вы бы хотели, чтобы оно было установлено в true.

Выдержка из MSDN:

При использовании HTTP / 1.1 функция Keep-Alive включена по умолчанию. Установка значения KeepAlive в false может привести к отправке заголовка Connection: Close на сервер.