木子屋 Dnawo's BLOG

使用CookieContainer时注意设置PerDomainCapacity属性值

👤 dnawo 📅 2014-11-27 👁 6170 👍 0 💬 0 🔄 来源:本站原创
今天往CookieContainer增加Cookie时发现总是有部分Cookie丢失,调试发现CookieContainer.Count属性值每次为20(实际应为27),于是加断点逐语句调试,最终发现了问题:

图片

如上图所示,调用了23次CookieContainer.Add方法,但CookieContainer.Count属性值增加到20后就停了,观察发现CookieContainer.PerDomainCapacity属性值一直都是20,这个属性是做什么的?查MSDN说明如下:

获取和设置 CookieContainer 可以在每个域包含的 Cookie 实例数。

OK,修改CookieContainer.PerDomainCapacity属性值,问题解决。

private CookieContainer CookieParse(string str, string domain)
{
    CookieContainer result = new CookieContainer();
    result.PerDomainCapacity = 50;
    string[] arr = str.Replace(" ", "").Split(';');
    for (int i = 0; i < arr.Length; i++)
    {
        int index = arr[i].IndexOf("=");
        if (index != -1)
        {
            Cookie cookie = new Cookie(arr[i].Substring(0, index), arr[i].Substring(index + 1));
            cookie.Domain = domain;
            result.Add(cookie);
        }
    }
    return result;
}

评论(0)

暂无评论。

验证码
评论需审核通过后显示
← 上一篇 淘宝供销平台产品采购价和零售价采集器 下一篇 → xls电子表格批量给单元格加超链接