NetCore: как отправить заголовок Keep-Alive в нижнем регистре через HttpWebRequest

Я переношу одно из своих приложений с .net 4.0 на .netcore и сталкиваюсь с некоторыми проблемами при попытке отправить заголовок Keep-Alive в нижнем регистре через HttpWebRequest. В моем предыдущем коде (4.0) я использую решение, найденное здесь (Как отправить заголовок Keep-Alive в нижнем регистре через HttpWebRequest), и это отлично работает

request.Headers.GetType().InvokeMember(
"ChangeInternal",
BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.InvokeMethod,
Type.DefaultBinder, 
request.Headers, 
new object[] { "Connection", "keep-alive" }

);

Однако при попытке использовать ту же функцию в .netcore я всегда получаю сообщение об ошибке «Метод System.Net.WebHeaderCollection.ChangeInternal» не найден.

Есть ли какая-либо другая работа, чтобы использовать нижний регистр, чтобы сохранить жизнь?


person PamelaTabak    schedule 18.11.2020    source источник
comment
Попробуйте проверить это решение stackoverflow.com/questions/29612433/   -  person    schedule 19.11.2020
comment
Я сделал, но все еще не смог заставить его работать.   -  person PamelaTabak    schedule 19.11.2020
comment
Я немного смущен. Если я просто добавлю request.Headers["Connection"] = "keep-alive";, у меня все работает отлично. Заголовок запроса пишется в нижнем регистре и также является заголовком ответа. (.NET Core 3.1)   -  person DerSchnitz    schedule 19.11.2020
comment
Это не работало на .NetFramework (было сгенерировано исключение, в котором говорилось, что невозможно изменить этот заголовок), поэтому я даже не подумал попробовать это. Спасибо!   -  person PamelaTabak    schedule 19.11.2020