Ich habe zuvor einen CookieContainer mit HttpWebRequest- und HttpWebResponse-Sitzungen verwendet, möchte ihn jetzt jedoch mit einem WebClient verwenden. Soweit ich weiß, gibt es keine integrierte Methode wie für HttpWebRequests ( request.CookieContainer
). Wie kann ich Cookies von einem WebClient in einem CookieContainer sammeln?
Ich habe danach gegoogelt und folgendes Beispiel gefunden :
public class CookieAwareWebClient : WebClient
{
private readonly CookieContainer m_container = new CookieContainer();
protected override WebRequest GetWebRequest(Uri address)
{
WebRequest request = base.GetWebRequest(address);
HttpWebRequest webRequest = request as HttpWebRequest;
if (webRequest != null)
{
webRequest.CookieContainer = m_container;
}
return request;
}
}
Ist das der beste Weg, es zu tun?
m_container
ist nie festgelegt!? Ist es nicht immer leer?