想请教一下关于asp.net中的guid类型

6 views
Skip to first unread message

StephenChen

unread,
Dec 22, 2006, 6:12:58 AM12/22/06
to 广东DotNet俱乐部
这个是什么东东。。。。查MSDN看不懂。。。怎么用的。。

smokeing cup

unread,
Dec 24, 2006, 10:32:32 PM12/24/06
to 广东DotNet俱乐部
GUID (globally Unique IDentifier) 全球唯一标识符号

它是一个128位长的数字 一般使用16进位的数标识
分为五段例如
{00000300-0000-0000-C000-000000000046} 这就是一个GUID的表现

GUID起初是为了COM服务的 但是现在除了COM再用
我们自己的一些应用程序也在使用它作为一个
"唯一标识符"

以下为GUID更详细点的解释
------
初微软设计COM规范的时候,有两种选择来保证用户设计的COM组件可以全球唯一:

第一种是采用和Internet地址一样的管理方式,成立一个管理机构,用户如果想开发一个COM组件的时候需要向该机构提出申请,并交一定的费用。

第二种是发明一种算法,每次都能产生一个全球唯一的COM组件标识符。

很显然第一种方法,用户使用起来太不方便,所以微软采用第二种方法,并发明了一种算法,这种算法用GUID(Globally
Unique
Identifiers)来标识COM组件,GUID是一个128位长的数字,一般用16进制表示。算法的核心思想是结合机器的网卡、当地时间、一个随即数来生成GUID。从理论上讲,如果一台机器每秒产生10000000个GUID,则可以保证(概率意义上)3240年不重复。


"StephenChen 写道:
"
> 这个是什么东东。。。。查MSDN看不懂。。。怎么用的。。

Jerry

unread,
Dec 24, 2006, 10:37:25 PM12/24/06
to 广东DotNet俱乐部
回答得很详细,呵呵。所以GUID和ASP.NET没有什么特别的关系。

smokeing cup

unread,
Dec 24, 2006, 10:41:56 PM12/24/06
to 广东DotNet俱乐部
如果在.NET中
GUID类位于System下面

使用Guid.NewGuid().ToString();就可以得到一个GUID了

smokeing cup

unread,
Dec 24, 2006, 10:45:15 PM12/24/06
to 广东DotNet俱乐部
我们做的应用程序 以前用int类型的ID字段
用数据库自身让字段自增 从而达到唯一的目的
但是发现这种方法容易被猜测 比如新闻的一个程序
ID=1 ID=2 ID=3 这样也给了某些人窃取的机会

后来全部改成了GUID,程序基本类似吧。SQLSERVER支持使用newid()这个函数来产生新的GUID

"Jerry 写道:
"
> 回答得很详细,呵呵。所以GUID和ASP.NET没有什么特别的关系。

StephenChen

unread,
Dec 29, 2006, 10:42:50 AM12/29/06
to 广东DotNet俱乐部
大家可否举一个例子出来呢?我想学一下怎么用这个东西。。。用来传递文章的序号
Reply all
Reply to author
Forward
0 new messages