SoapHttpClientProtocol кэширует учетные данные прокси? - PullRequest
1 голос
/ 15 ноября 2010

Я заметил в .NET4, что SoapHttpClientProtocol, по-видимому, кэширует учетные данные прокси.Кто-нибудь знает, правда ли это, и как обновить этот кеш?Если мои пользователи меняют свои учетные данные, я хотел бы попробовать их, но как только я получу какой-либо SoapHttpClientProtocol для успешного подключения, любой вызов для вызова, кажется, работает.последние два будут ложными)

incorrect Credential attempt!
Attempt with proxyuser and IncorrectPassword: False
Attempt with proxyuser and password: True
Attempt with proxyuser and IncorrectPassword: True
Attempt with proxyuser and IncorrectPassword: True

1 Ответ

1 голос
/ 15 ноября 2010

Беглый взгляд на HttpWebRequest с помощью Reflector показывает, что он не различает ServicePoint объекты на основе учетных данных прокси.Таким образом, он повторно использует один и тот же пул http-соединений для всех этих запросов, и, поскольку одно и то же соединение остается активным после первой успешной аутентификации через прокси-сервер, он даже не пытается использовать учетные данные, предоставленные для последних двух запросов.

Выможно попытаться установить свойство ConnectionGroupName для какой-либо строки, содержащей имя пользователя и пароль прокси, в то время, когда вы устанавливаете свойство Proxy (возможно, с помощью вспомогательного метода).

Другой вариант - использовать proxyuser: пароль@basicproxy: 2121 схема URL для конструктора WebProxy.

...