In precedenza ho usato un CookieContainer con sessioni HttpWebRequest e HttpWebResponse, ma ora voglio usarlo con un WebClient. A quanto ho capito, non esiste un metodo integrato come per HttpWebRequests ( request.CookieContainer
). Come posso raccogliere i cookie da un client Web in un cookieContainer?
Ho cercato su Google per questo e ho trovato il seguente esempio :
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;
}
}
È questo il modo migliore per farlo?
m_container
non è mai impostato !? Non è sempre vuoto?