Сбой асинхронной загрузки WebClient через прокси?

Сначала я должен уточнить, что мой Proxy установлено. Адрес и любые необходимые учетные данные уже успешно используются в процессе входа в веб-службу. При загрузке через прокси-сервер он иногда бывает успешным (~25% времени), но большую часть времени он загружается только частично и "завершается" с e.Error установить (см. ниже).

public static void DownloadMyFile(string file)
{
    Url = "https://myWebService.com/file.ext";

    using (var client = new WebClient())
    {
        client.Proxy = proxy; //proxy is set and used elsewhere prior to logging in

        //I use this event to manipulate my file when finished
        client.DownloadFileCompleted += client_DownloadCompleted;
        client.DownloadFileAsync(new Uri(Url), file);
    }
}

Событие, которое я использую позже:

public static void client_DownloadCompleted(object sender, AsyncCompletedEventArgs e)
{
     //e has an error here, no point in doing anything useful with the file

     //Do other "stuff"
}  

Внутренний текст исключения / трассировка стека:

Операция дешифрования не удалась, см. Внутреннее исключение.

в System.Net.ConnectStream.EndRead(IAsyncResult asyncResult)
в System.Net.WebClient.DownloadBitsReadCallbackState(состояние DownloadBitsState, результат IAsyncResult).

Опять же, чтобы уточнить: это прекрасно работает 100% времени, когда не используется прокси.

Изменить: внутреннее сообщение об исключении 2-го уровня The specified data could not be decrypted, Нет трассировки стека, связанной с ним

0 ответов

Другие вопросы по тегам