Size: a a a

2020 January 10

A

Anatoly in pro.net
сокет держится инстансом HttpMessageHandler.
источник

NT

Nikita Tsukanov in pro.net
Bretbas
IWebProxy с политикой изменения ProxyInfo при вызове IWebProxy.GetProxy.
Один IWebProxy на один HttpClientHandler, который в свою очередь на один экземпляр HttpClient.

Где тут race condition?
один HttpClient могут пинать из сотни потоков
источник

B

Bretbas in pro.net
Nikita Tsukanov
один HttpClient могут пинать из сотни потоков
ну значит разделенный между ними IWebProxy должен менять текущий ProxyInfo потокобезопасно
источник

B

Bretbas in pro.net
Anatoly
сокет держится инстансом HttpMessageHandler.
ага. Поэтому и пул для HttpMessageHandler, а не для HttpClient.
тогда понятно
источник

NT

Nikita Tsukanov in pro.net
Bretbas
ну значит разделенный между ними IWebProxy должен менять текущий ProxyInfo потокобезопасно
у тебя есть временной зазор между "сменил ProxyInfo" и "кто-то прочитал ProxyInfo и пошёл отправлять запрос"
источник

NT

Nikita Tsukanov in pro.net
вот если между ними вклинится другой поток и тоже поменяет ProxyInfo
источник

NT

Nikita Tsukanov in pro.net
то будет веселье
источник

IC

Ilya Chernoudov in pro.net
Bretbas
просто я тогда не понимаю, как решается эта проблема:
Первая проблема в том, что, хотя этот класс и является одноразовым, лучше не использовать его с инструкцией using, поскольку даже при ликвидации объекта HttpClient базовый сокет не освобождается сразу, что может привести к исчерпанию сокетов.

если она не кеширует HttpClient?
Ебучий стыд, сделай пул из hrtpclient и всё
источник

IC

Ilya Chernoudov in pro.net
Каждый из которых будет связан с одним прокси
источник

IC

Ilya Chernoudov in pro.net
И дергай их как угодно
источник

B

Bretbas in pro.net
Ilya Chernoudov
Ебучий стыд, сделай пул из hrtpclient и всё
тогда придется в каждый IBookmakerParser тянуть не HttpClient, а IHttpClientFactory, и по имени дергать Create.
Тоесть IBookmakerParser о политике смены того или иного прокси, а я этого бы хотел избежать
источник

ШН

Шерзод Немножко Токсик in pro.net
Всем здрям! Есть гуру OAuth2/OIDC/IdentityServer4

Есть такая фича как минимальный скоп?
То есть что я хочу, когда клиент пытается в логин, он обязан отправить пару минимальных скопов, без которых он не может авторизоваться. Как это делается?
источник

IC

Ilya Chernoudov in pro.net
Bretbas
тогда придется в каждый IBookmakerParser тянуть не HttpClient, а IHttpClientFactory, и по имени дергать Create.
Тоесть IBookmakerParser о политике смены того или иного прокси, а я этого бы хотел избежать
У httpclient все методы виртуальные 😉
источник

G

Gopneg in pro.net
Bretbas
тогда придется в каждый IBookmakerParser тянуть не HttpClient, а IHttpClientFactory, и по имени дергать Create.
Тоесть IBookmakerParser о политике смены того или иного прокси, а я этого бы хотел избежать
ты чо второй день этой херней маешься? давно пора было решить и забыть
источник

B

Bretbas in pro.net
Gopneg
ты чо второй день этой херней маешься? давно пора было решить и забыть
ну я как бы делаю модель в 3ds max и обдумываю как решить
источник

B

Bretbas in pro.net
Gopneg
ты чо второй день этой херней маешься? давно пора было решить и забыть
да. Я если честно в отчаянии.
хочу сделать круто. А круто сделать не получается, из за этой кривизны в HttpClient'е
источник

G

Gopneg in pro.net
Bretbas
ну я как бы делаю модель в 3ds max и обдумываю как решить
модель хттпклиента в здмаксе? сурово
источник

B

Bretbas in pro.net
Gopneg
модель хттпклиента в здмаксе? сурово
не) Сейчас Агапий Печерский у меня)
источник

G

Gopneg in pro.net
Bretbas
да. Я если честно в отчаянии.
хочу сделать круто. А круто сделать не получается, из за этой кривизны в HttpClient'е
сделай на отъебись чтобы работало, все лучше чем делать круто неделю и все еще не работает
источник

B

Bretbas in pro.net
Gopneg
сделай на отъебись чтобы работало, все лучше чем делать круто неделю и все еще не работает
так я вчера сделал так за 30 минут
источник