/// <summary> /// 反序列化 /// </summary> /// <param name="info">SerializationInfo</param> /// <param name="context">StreamingContext</param> protected UrlManager(SerializationInfo info, StreamingContext context) { this.policy = info.GetValue("policy", typeof(UrlManagePolicy)) as UrlManagePolicy; UrlCollection urls = info.GetValue("urls", typeof(UrlCollection)) as UrlCollection; if (null != urls) { foreach (Url url in urls) { this.AddOrRemoveItem(url, false); } urls.Clear(); this.InitItemsCount(); } }
private volatile bool dumpState; //标记是否有线程正在进行Dump操作 protected UrlManager() { this.dumpState = false; this.policy = this.GetManagePolicy(); this.lists = new List <KeyValuePair <uint, Url> > [10]; this.listsIndex = new Dictionary <uint, int> [10]; this.listInitItems = new Dictionary <int, int>(); for (int i = 0; i < 10; i++) { this.lists[i] = new List <KeyValuePair <uint, Url> >(); this.listsIndex[i] = new Dictionary <uint, int>(); this.listInitItems.Add(i, 0); } }