日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

解讀Asp.net教程:設(shè)計(jì)IP地址屏蔽功能_.Net教程

編輯Tag賺U幣
教程Tag:暫無Tag,歡迎添加,賺取U幣!

推薦:.Net教程之HTTP狀態(tài)碼200,301,302
跳轉(zhuǎn)非常常用,在哪里都一樣,這里的一些說明和用法也如此,不止適用于asp.net,其他語言也會用得到。跳轉(zhuǎn)的目的本來很簡單,就是當(dāng)用戶或系統(tǒng)需要時從一個頁面轉(zhuǎn)向另一個頁面,但自從有了

“IP地址的長度為32位,分為4段,每段8位,用十進(jìn)制數(shù)字表示,每段數(shù)字范圍為0~255,段與段之間用句點(diǎn)隔開。”

由此我們了解到,IP地址實(shí)際上是一個32位正整數(shù),在C#中可以使用uint類型來表示,但SQLServer數(shù)據(jù)庫里好像沒有對應(yīng)的類型;轉(zhuǎn)而使用數(shù)據(jù)庫支持的int類型的話,則會出現(xiàn)溢出的情況;因此我們做出妥協(xié):使用long(bigint)類型。

以下為引用的內(nèi)容:

TIP:

int取值范圍:-2,147,483,648 到 2,147,483,647

uint取值范圍:0 到 4,294,967,295

long取值范圍:-9,223,372,036,854,775,808 到 9,223,372,036,854,775,807

那么如何將IP地址轉(zhuǎn)為整數(shù)呢?我們看到IPAddress類中有一個“[否決的]”實(shí)例屬性Address,這個屬性的確可以返回一個long值,但是測試一下,得到的數(shù)據(jù)確實(shí)這樣的:

以下為引用的內(nèi)容:

“127.0.0.1” -> 16777343

“127.0.0.2” –> 33554559

的確該讓它“否決”,這樣的整數(shù)對我們來說毫無意義,我們是無法通過這樣的方法比較傳入的IP是否介于兩個IP值之間的。

那么只有自己動手了,我們將通過IPAddress類的GetAddressBytes()實(shí)例方法獲取IP的4個段的值,然后將它們組合為一個整數(shù),下面將提供這個擴(kuò)展方法:

以下為引用的內(nèi)容:

/// <summary>

/// 將IP地址轉(zhuǎn)為整數(shù)形式

/// </summary>

/// <returns>整數(shù)</returns>

public static long 轉(zhuǎn)換為整數(shù)(this IPAddress ip)

{
int x = 3;

long o = 0;

foreach (byte f in ip.GetAddressBytes())

{

o = (long)f << 8 * x--;

}

return o;
}

你可以這樣使用這個擴(kuò)展方法:

IPAddress.Parse("127.0.0.1").轉(zhuǎn)換為整數(shù)()

分享:解析.NET程序員 Ruby核心語法入門
本文的目的是為了找出為什么.NET程序員都想學(xué)習(xí)并使用Ruby,并探索Ruby語言的核心語法。 微軟的IronRuby項(xiàng)目為Windows平臺帶來了強(qiáng)大的動態(tài)語言,Ruby編程語言是一個現(xiàn)代的,面向?qū)ο蟮?/p>

共4頁上一頁1234下一頁
來源:模板無憂//所屬分類:.Net教程/更新時間:2009-08-30
相關(guān).Net教程