.Net NetworkCredential кэшируется на 5 секунд и не может быть изменен - PullRequest
0 голосов
/ 14 сентября 2018

Вот код:

    for (int i = 0; i < 10; i++)
    {
        var client = new WebClient();
        client.Proxy = new WebProxy("zproxy.lum-superproxy.io:22225");
        if (i == 0)
        {
            client.Proxy.Credentials = new NetworkCredential("aaa", "123456");
        }

        Console.WriteLine(client.DownloadString("http://lumtest.com/myip.json"));
        Task.Delay(i * 1000).Wait();
    }

Я использую прокси для отправки запроса, так как вы можете видеть, что хост является статической строкой, я могу переключать прокси, задавая различные учетные данные.Но я нашел действительно странную вещь - учетные данные, когда первый запрос был отправлен, он будет кэширован и не сможет сбросить или изменить для следующих запросов (независимо от того, как я могу попытаться установить значение, следующий запрос будет использоватьпредыдущие учетные данные).В приведенном выше коде я просто установил учетные данные в первый раз (когда i == 0), и я могу получить тот же результат в течение следующих 5 раз, когда i == 6, он задерживается на 5 секунд, и коды выдают исключениеговорит, что учетные данные отсутствуют.Это означает, что он кэшируется только 5 секунд.Все это просто происходит в .net framework, я попробовал .net core для того же кода, совсем нет.Если я пропустил несколько кодов?И как я могу использовать прокси с учетными данными и избежать его кэширования?

...