Ошибка CookieContainer?

Библиотека Boost.String имеет множество алгоритмов для сравнения без учета регистра и т. Д.

Вы могли бы реализовать свой собственный, но зачем беспокоиться, когда это уже сделано?

16
задан jdphenix 20 March 2014 в 05:42
поделиться

3 ответа

Я только что нашел исправление для этой ошибки и обсуждал здесь: http://dot-net-expertise.blogspot.com/2009/10/cookiecontainer-domain-handling-bug-fix.html

Вот решение:

  1. Не используйте .Add ( Cookie), используйте только метод .Add (Uri, Cookie).
  2. Вызывайте BugFix_CookieDomain каждый раз, когда вы добавляете cookie в контейнер или перед использованием .GetCookie или перед использованием контейнера системой.

     private void BugFix_CookieDomain (CookieContainer cookieContainer)
    {
     System.Type _ContainerType = typeof (CookieContainer);
     Hashtable table = (Hashtable) _ContainerType.InvokeMember ("m_domainTable",
     System.Reflection.BindingFlags.NonPublic |
     System.Reflection.BindingFlags.GetField |
     System.Reflection.BindingFlags.Instance,
     значение NULL,
     cookieContainer,
     новый объект [] {});
     ArrayList keys = новый ArrayList (table.Keys);
     foreach (строка keyObj в ключах)
     {
     строковый ключ = (keyObj как строка);
     если (ключ [0] == '.')
     {
     строка newKey = key.Remove (0, 1);
     таблица [newKey] = таблица [keyObj];
     }
     }
    }
    
24
ответ дан 30 November 2019 в 21:46
поделиться

Вот способ обойти эту ошибку: http://social.microsoft.com/Forums/en-US/netfxnetcom/thread/1297afc1-12d4-4d75-8d3f-7563222d234c Он использует отражение.

-1
ответ дан 30 November 2019 в 21:46
поделиться
0
ответ дан 30 November 2019 в 21:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: