Я разрабатываю приложение, которое использует WebClient. У меня есть этот класс, который расширяет базовую функциональность WebClient:
public class WebClientEx : WebClient
{
private CookieContainer _cookieContainer = new CookieContainer();
protected override WebRequest GetWebRequest(Uri address)
{
WebRequest request = base.GetWebRequest(address);
if (request is HttpWebRequest)
{
(request as HttpWebRequest).CookieContainer = _cookieContainer;
(request as HttpWebRequest).AllowAutoRedirect = true;
(request as HttpWebRequest).Timeout = 10000;
}
return request;
}
}
Я использую WebClientEx для входа на сайт и запроса некоторой информации. Это хорошо работает для 4.0 и 4.5, но не работает в более ранних версиях, таких как 3.5, 3.0 и т. д. Я добавил код отладки, и в ранних версиях он говорит, что в контейнере cookie 0 файлов cookie, а 4.0+ говорит, что есть две куки, как и должно быть.
Так что причина, вероятно, в том, что в ранних версиях.NET Framework есть некоторые проблемы с хранением файлов cookie в контейнере файлов cookie . Как это исправить?