首页 > 编程 > .NET > 正文

在ASP.NET中创建GUIDa

2024-07-10 12:55:52
字体:
来源:转载
供稿:网友


基础知识

guid代表全球唯一识别符。正如名字所表示的,这些数字从统计上来说是唯一的,这就意味着在全世界不会有两个guid完全相同。这是为什么呢?

一个 guid是一个128位的数字,通常用一个32位的十六进制字符串来表示,就象这样:3e4dab67-ac0b-47cc-b1cf-40f93324350f

两个guid相等的几率是 1/2128 ,几乎为0。

由于它们的唯一性,guid可以被用在需要唯一关键字的应用程序中,但是这种情况下的关键字是不能组合起来生成一个关键字。

举例来说,你想跟踪站点的访问者。如果不向访问者询问一些问题,就不可能生成含有他们行动信息的表格关键字。只有当你拥有了他们的识别信息,如电话号码等,才能做到。在没有这些信息的情况下,你可以使用一个唯一数字,如计数器,作为关键字。要想使这个 id不可复制,就可以使用guid。 用计数器的话,会有数字被复制的可能,比如复位了计数器,但是使用guid,就没有这种可能。

在asp.net创建guid

在asp时代,要生成guid必须要依靠一个外部com 组件或sql server。现在,.net框架中提供了创建guid必要的类,使生成guid变得容易。system名称空间中包含了声称guid的guid类,这个类包含 newguid()方法,当它被调用时,就返回一个带有新值的guid对象。现在,就让我们来看看生成一个新guid的简单例子:

<html>
<body>

<%=system.guid.newguid()%>

</body>
</html>

点击这里演示。

刷新演示页面,你就会发现每次都会显示一个新的guid。

以下是对上面代码进行了"修饰"的版本,点击"create guid"按钮就会触发创建一个新的guid:

<html>

<script language="vb" runat="server">
' 当点击"create guid"按钮时,调用下面的防范
sub displaynewguid (sender as object, e as eventargs)
' 设置label内容为新guid数值
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" />
<br>

<asp:label id="guidlabel" runat="server" />

</form>

</body>
</html>

点击这里演示。

由于上述方法使用了.net的基本类之一,因此它可以被任何.net应用程序使用,而不仅仅局限于asp.net中。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表