Окно параметров Windows может показывать новый прокси, а приложение продолжает работать по прежнему маршруту. Определите, какое состояние вы наблюдаете:

НаблюдениеЧто оно устанавливает
Новое значение сохраненоВыбранная конфигурация пользователя или компьютера изменилась
Клиент читает новую конфигурациюЭтот клиент перечитал используемый источник
Новое подключение использует новый маршрутОбновлённая политика повлияла на новое решение о маршрутизации

WinINet предоставляет Internet Options и уведомления для каждого подключения, включая INTERNET_OPTION_SETTINGS_CHANGED и INTERNET_OPTION_REFRESH. Для обновляемого параметра используйте поддерживаемый API конфигурации и сообщайте о его ошибках. Запись только в реестр может оставить у клиента устаревшее представление; общая рассылка параметров не заставляет каждую сетевую библиотеку перечитывать её.

Затем определите стек и учётную запись затронутого приложения. Для клиента .NET 9 под Windows жизненный цикл обновления системного прокси отличается от явных объектов прокси и значений среды по умолчанию. WinHTTP и клиенты с собственными настройками прокси — отдельные случаи. Изменение под текущим пользователем мало говорит о службе, работающей под другой учётной записью, а обновление WinINet не может обеспечить поддержку прокси для произвольных сокетов.

Наконец, отличайте новое подключение от активного подключения или туннеля, установленного ранее. Изменение параметра не переносит этот поток автоматически. Приложению, которое предоставляет изменения прокси, нужна определённая политика сохранения, уведомления и новых подключений.

Похожие статьи