當Windows的開發者們需要一個唯一值的時候,通常他們會用一個全球唯一標識符。微軟用全球唯一標識符這一述語來描述一個唯一的數字,它可以識別一個諸如Word文本之類的實體。
一個全球唯一標識符由128位整數(16字節)組成,你可以利用它進入任何一台需要輸入唯一標識符的電腦或任何一個需要唯一標識符的網絡。這種類型的標識符被復制的可能性非常小。
本文講解了.Net Framework怎樣幫你創建你自己的全球唯一標識符。
無論在哪裡,你都會看到全球唯一標識符總是在Windows環境中操作。當你在Windows系統中細讀注冊表時,你會發現全球唯一標識符被廣泛用來識別應用程序等等。在HKEY_CLASSES_ROOT中,它甚至被用作應用軟件的標識符。http://www.knowsky.com
936DA01F-9ABD-4d9d-80C7-02AF85C822A8是一個典型的全球唯一標識符的格式。
用.Net創建一個全球唯一標識符
擁有一個全球唯一標識符就能更容易地存儲或重新找回信息。尤其當涉及到數據庫的時候,它的這一功能就顯得更為突出,這是因為全球唯一標識符可以幫助你設置一個絕好的主鍵。
同樣,SQL Server也支持全球唯一標識符,它可以存儲一個uniqueidentifIEr數據類型的全球唯一標識符。你可以用NEWID()功能在SQL Server中設置一個標識符值,也可以在其它系統中設置標識符值然後再手動將該值插入SQL Server中。
在.NET中後一種方法很直截了當。.Net Framework中的基本的系統類包括全球唯一標識符的值類型。此外,這個值類型中包括了使用全球唯一標識符值的方法。而NweGUID法則能讓你輕易地創建一個新的全球唯一標識符。
The following C# command-line application shows how it's used:
以下的命令行講述了怎樣用C++創建全球唯一標識符:
using System;
namespace DisplayGUID {
class GuidExample {
static void Main(string[] args) {GenerateGUID();
}
static void GenerateGUID() {Console.WriteLine("GUID: " + System.Guid.NewGuid().ToString());
} } }