08 2010 档案
摘要:今天,想使用自定义的类型作为Dictionary<TKey, TValue> 的键类型,不可避免的要使用到这个接口。如果另外定义一个实现类,使用者必须首先知道有这个类存在,这样调用方才会得到正确的结果。自然想到的办法就是这个自定义类型主动实现IEqualityComparer<T>接口,但是Dictionary<TKey, TValue> 类型并不会去检查这个键...
阅读全文
摘要:公司的爬虫在爬取个别网站内容时候发现目标服务器对访问频率做了限制,这样只能限制爬虫访问的频率,造成了信息的滞后和数量始终上不去。于是就研究能不能让访问请求依次通过不同的IP地址访问目标服务器来增大访问的频率。让爬虫在不同的服务器上运行,这是另外一种解决思路,涉及到分布式爬虫的很多问题,不在本文讨论范围内。 Google搜索了半天,找到了一些蛛丝马迹,发现Socket.Bind方法理论上可行。接下...
阅读全文
摘要:上次介绍了还有另外两种自定义配置文件的办法,这次介绍WCF所采用的方法。 请看配置文件:代码 有两个自定义节点,extensions和custom,其中extensions定义了扩展类所使用自定义配置文件的处理类,当程序在custom节点中遇到自定义的节点,就会使用这里定义好的类来处理,这是扩展类自定义配置文件的核心。custom是我们的示例节点,定义了一个senders属性,这是一个集合,里面...
阅读全文