明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

在ASP.NET中創(chuàng)建GUIDa

[摘要]基礎(chǔ)知識(shí) GUID代表全球唯一識(shí)別符。正如名字所表示的,這些數(shù)字從統(tǒng)計(jì)上來說是唯一的,這就意味著在全世界不會(huì)有兩個(gè)GUID完全相同。這是為什么呢? 一個(gè) GUID是一個(gè)128位的數(shù)字,通常用一個(gè)32...
基礎(chǔ)知識(shí)

GUID代表全球唯一識(shí)別符。正如名字所表示的,這些數(shù)字從統(tǒng)計(jì)上來說是唯一的,這就意味著在全世界不會(huì)有兩個(gè)GUID完全相同。這是為什么呢?

一個(gè) GUID是一個(gè)128位的數(shù)字,通常用一個(gè)32位的十六進(jìn)制字符串來表示,就象這樣:3e4dab67-ac0b-47cc-b1cf-40f93324350f

兩個(gè)GUID相等的幾率是 1/2128 ,幾乎為0。

由于它們的唯一性,GUID可以被用在需要唯一關(guān)鍵字的應(yīng)用程序中,但是這種情況下的關(guān)鍵字是不能組合起來生成一個(gè)關(guān)鍵字。

舉例來說,你想跟蹤站點(diǎn)的訪問者。如果不向訪問者詢問一些問題,就不可能生成含有他們行動(dòng)信息的表格關(guān)鍵字。只有當(dāng)你擁有了他們的識(shí)別信息,如電話號(hào)碼等,才能做到。在沒有這些信息的情況下,你可以使用一個(gè)唯一數(shù)字,如計(jì)數(shù)器,作為關(guān)鍵字。要想使這個(gè) ID不可復(fù)制,就可以使用GUID。 用計(jì)數(shù)器的話,會(huì)有數(shù)字被復(fù)制的可能,比如復(fù)位了計(jì)數(shù)器,但是使用GUID,就沒有這種可能。

在ASP.NET創(chuàng)建GUID

在ASP時(shí)代,要生成GUID必須要依靠一個(gè)外部COM 組件或SQL Server。現(xiàn)在,.NET框架中提供了創(chuàng)建GUID必要的類,使生成GUID變得容易。System名稱空間中包含了聲稱GUID的GUID類,這個(gè)類包含 NewGUID()方法,當(dāng)它被調(diào)用時(shí),就返回一個(gè)帶有新值的GUID對(duì)象,F(xiàn)在,就讓我們來看看生成一個(gè)新GUID的簡(jiǎn)單例子:

<html>
<body>

<%=System.GUID.NewGUID()%>

</body>
</html>

點(diǎn)擊這里演示。

刷新演示頁(yè)面,你就會(huì)發(fā)現(xiàn)每次都會(huì)顯示一個(gè)新的GUID。

以下是對(duì)上面代碼進(jìn)行了"修飾"的版本,點(diǎn)擊"Create GUID"按鈕就會(huì)觸發(fā)創(chuàng)建一個(gè)新的GUID:

<html>

<script language="vb" runat="server">
' 當(dāng)點(diǎn)擊"Create GUID"按鈕時(shí),調(diào)用下面的防范
Sub displayNewGUID (Sender As Object, E As EventArgs)
' 設(shè)置label內(nèi)容為新GUID數(shù)值
guidLabel.Text = System.GUID.NewGuid().ToString()
End Sub
</script>

<head>
<title>Demo: Generating GUIDs</title>
</head>

<body>

<form runat="server">

<asp:Button id="guidButton" text="Create GUID" runat="server" onclick="displayNewGUID" />
<br>

<asp:Label id="guidLabel" runat="server" />

</form>

</body>
</html>

點(diǎn)擊這里演示。

由于上述方法使用了.NET的基本類之一,因此它可以被任何.NET應(yīng)用程序使用,而不僅僅局限于ASP.NET中。