2015-10-08 2 views
2

Я хочу очистить ВСЕ файлы cookie, полученные в CookieContainer, без необходимости инициализировать новый CookieContainer, HttpClientHandler и HttpClient. Есть ли способ? Я проверил MSDN, но, похоже, я могу использовать GetCookies (Uri), чтобы получить все файлы cookie, связанные с определенным Uri.Есть ли способ очистить CookieContainer?

var cc = new CookieContainer(); 

var handler = new HttpClientHandler 
    { 
     CookieContainer = cc 
    }; 

var client = new HttpClient(handler); 
+0

Оказывается, вам нужно использовать отражение. В чем проблема с созданием нового HttpClient? http://stackoverflow.com/questions/15983166/how-can-i-get-all-cookies-of-a-cookiecontainer – dana

+0

@dana: Я просто чувствую, что это может быть пустая трата ресурсов, так как я использую несколько задания. – derekhh

+2

Лично я бы не стал беспокоиться о создании еще нескольких экземпляров класса, если альтернативой является использование рефлексии для перехода к частным членам. Это особенно верно, поскольку вы уже делаете сетевые запросы по HTTP. – dana

ответ

0

Единственное решение, которое я знаю, истекают все куки:

 cc.GetCookies(new Uri(...)) 
      .Cast<Cookie>() 
      .ToList() 
      .ForEach(c => c.Expired = true); 
Смежные вопросы