最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

讀取純真IP數(shù)據(jù)庫的公用組件接口QQWry.NET

 更新時間:2013年06月24日 10:52:30   作者:  
這是一個讀取純真IP數(shù)據(jù)庫的公用組件接口,我是通過luma的《純真IP數(shù)據(jù)庫格式詳解》了解了純真IP數(shù)據(jù)庫數(shù)據(jù)格式,并且基于網(wǎng)絡(luò)上的一個IPLocation.dll源碼的基礎(chǔ)改編而來
這是一個讀取純真IP數(shù)據(jù)庫的公用組件接口,我是通過luma的《純真IP數(shù)據(jù)庫格式詳解》了解了純真IP數(shù)據(jù)庫數(shù)據(jù)格式,并且基于網(wǎng)絡(luò)上的一個IPLocation.dll源碼的基礎(chǔ)改編而來。我為什么要改編這個組件呢?因為我看到這個組件在使用過程中,每次都要打開文件流,并且整個接口使用靜態(tài)的屬性。并不適合Web環(huán)境下,多線程并發(fā)查詢的需求,并且在性能上也不是最優(yōu)。有了luma的格式詳解,和現(xiàn)有的IPLocation.dll的源碼,使我的工作變得異常的簡單。出現(xiàn)的一個小錯誤,也是經(jīng)過一次調(diào)試后就解決了。性能較IPLocation.dll也有較大的提高,雖然只有短短的幾百行代碼,雖然網(wǎng)上也有很多類似的代碼,但繼承我一貫的做法,我仍然把這個組件開源貢獻出來。下面是一些接口使用的介紹:
復制代碼 代碼如下:

QQWry.NET.QQWryLocator qqWry = new QQWry.NET.QQWryLocator("qqwry.dat");//初始化數(shù)據(jù)庫文件,并獲得IP記錄數(shù),通過Count可以獲得
QQWry.NET.IPLocation ip = qqWry.Query("120.67.217.7"); //查詢一個IP地址
Console.WriteLine("{0} {1} {2}", ip.IP, ip.Country, ip.Local);

以下是與IPLocation.dll在性能上的對比代碼:
復制代碼 代碼如下:

Stopwatch stopwatch = new Stopwatch();
List<string> ips = new List<string> { "218.5.3.128", "120.67.217.7", "125.78.67.175", "220.250.64.23", "218.5.3.128", "120.67.217.7", "125.78.67.175", "220.250.64.23" };
stopwatch.Start();
for (int i = 0; i < 100; i++)
{
foreach (string item in ips)
{
ip = qqWry.Query(item);
// Console.WriteLine("{0} {1} {2}", ip.IP, ip.Country, ip.Local);
}
}
stopwatch.Stop();
Console.WriteLine("QQWryLocator 花了{0} ms", stopwatch.ElapsedMilliseconds);
stopwatch.Reset();
stopwatch.Start();
for (int i = 0; i < 100; i++)
{
foreach (string item in ips)
{
string s = IPLocation.IPLocation.IPLocate("qqwry.dat", item);
// Console.WriteLine(s);
}
}
stopwatch.Stop();
Console.WriteLine("IPLocation 花了{0} ms", stopwatch.ElapsedMilliseconds);

性能比較結(jié)果:
 
源碼和示例下載

相關(guān)文章

  • .Net項目中一些常用驗證操作

    .Net項目中一些常用驗證操作

    這篇文章主要為大家詳細介紹了.Net項目中一些常用驗證操作,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • 關(guān)于ASP.NET頁面打印技術(shù)的常用方法總結(jié)

    關(guān)于ASP.NET頁面打印技術(shù)的常用方法總結(jié)

    B/S結(jié)構(gòu)導致了Web應用程序中打印的特殊性;程序運行在瀏覽器中,打印機在本地,而文件確可能在服務器上,導致了打印控制不是很靈活,接下來介紹幾種常見的打印技術(shù),感興趣的朋友可以了解下
    2013-01-01
  • 30 分鐘掌握無刷新 Repeater

    30 分鐘掌握無刷新 Repeater

    經(jīng)過數(shù)個版本的迭代后, JQueryElement 3.3.0 版本中的 Repeater 基本上已經(jīng)完善, 這里將分功能的總結(jié)講解一下 Repeater 的使用方法
    2011-10-10
  • ASP.NET MVC3網(wǎng)站創(chuàng)建與發(fā)布(1)

    ASP.NET MVC3網(wǎng)站創(chuàng)建與發(fā)布(1)

    這篇文章主要介紹了ASP.NET MVC3網(wǎng)站創(chuàng)建與發(fā)布,根據(jù)文章內(nèi)容大家可以實現(xiàn)發(fā)布網(wǎng)站,感興趣的小伙伴們可以參考一下
    2015-08-08
  • MVC網(wǎng)站開發(fā)之權(quán)限管理篇

    MVC網(wǎng)站開發(fā)之權(quán)限管理篇

    這篇文章主要為大家詳細介紹了MVC網(wǎng)站開發(fā)之權(quán)限管理的相關(guān)資料,感興趣的小伙伴們可以參考一下
    2016-08-08
  • asp.net 臨時數(shù)據(jù)保存實現(xiàn)代碼

    asp.net 臨時數(shù)據(jù)保存實現(xiàn)代碼

    在一個程序運行的時候往往我們會回到上一個頁面,或者我們會需要當時留在這個頁面的臨時數(shù)據(jù),例如,我們用百度搜索“腳本”之后我們會看到很多那啥我就不再說了??!然后我們返回本來頁面在文本框內(nèi)會有“腳本”的字樣,我們一下代碼段就是實現(xiàn)這個功能
    2012-04-04
  • ASP.NET使用TreeView顯示文件的方法

    ASP.NET使用TreeView顯示文件的方法

    這篇文章主要介紹了ASP.NET使用TreeView顯示文件的方法,包括控件的使用、頁面加載代碼及節(jié)點事件,是WEB應用程序中非常實用的技巧,需要的朋友可以參考下
    2014-09-09
  • 基于.NET Core 3.1 網(wǎng)站開發(fā)和部署的方法

    基于.NET Core 3.1 網(wǎng)站開發(fā)和部署的方法

    這篇文章主要介紹了基于.NET Core 3.1 網(wǎng)站開發(fā)和部署的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-08-08
  • asp.net Repeater取得CheckBox選中的某行某個值

    asp.net Repeater取得CheckBox選中的某行某個值

    Repeater取得CheckBox選中的某行某個值的實現(xiàn)代碼
    2008-07-07
  • ADO.NET實現(xiàn)對SQL Server數(shù)據(jù)庫的增刪改查示例

    ADO.NET實現(xiàn)對SQL Server數(shù)據(jù)庫的增刪改查示例

    本篇文章主要介紹了ADO.NET實現(xiàn)對SQL Server數(shù)據(jù)庫的增刪改查示例,非常具有實用價值,需要的朋友可以參考下。
    2017-01-01

最新評論

横山县| 广德县| 沁阳市| 涪陵区| 阿城市| 泽库县| 内丘县| 丁青县| 綦江县| 利辛县| 玉门市| 宁夏| 宜州市| 商都县| 乌拉特中旗| 鄂托克旗| 普兰店市| 泊头市| 肇东市| 永川市| 东阿县| 抚顺市| 塘沽区| 保定市| 林西县| 萨迦县| 青冈县| 江安县| 盘山县| 张家口市| 岐山县| 平阴县| 东辽县| 康马县| 日喀则市| 新泰市| 连平县| 潼关县| 夏邑县| 定兴县| 宝山区|