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

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

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

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"); //查詢一個(gè)IP地址
Console.WriteLine("{0} {1} {2}", ip.IP, ip.Country, ip.Local);

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

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 花了{(lán)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 花了{(lán)0} ms", stopwatch.ElapsedMilliseconds);

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

相關(guān)文章

  • .Net項(xiàng)目中一些常用驗(yàn)證操作

    .Net項(xiàng)目中一些常用驗(yàn)證操作

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

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

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

    30 分鐘掌握無刷新 Repeater

    經(jīng)過數(shù)個(gè)版本的迭代后, 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)容大家可以實(shí)現(xiàn)發(fā)布網(wǎng)站,感興趣的小伙伴們可以參考一下
    2015-08-08
  • MVC網(wǎng)站開發(fā)之權(quán)限管理篇

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

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

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

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

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

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

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

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

    asp.net Repeater取得CheckBox選中的某行某個(gè)值

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

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

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

最新評論

东乌珠穆沁旗| 富锦市| 黎川县| 黄山市| 金平| 滨海县| 商都县| 宣威市| 顺义区| 长武县| 古丈县| 洪泽县| 安新县| 申扎县| 天水市| 广饶县| 萨嘎县| 斗六市| 灵台县| 永德县| 青海省| 长子县| 青岛市| 濉溪县| 兰西县| 治多县| 乌拉特前旗| 七台河市| 巩留县| 游戏| 额尔古纳市| 新化县| 和平县| 英德市| 三亚市| 呼玛县| 双江| 安龙县| 辛集市| 灵武市| 郑州市|