- 浏览: 614054 次
- 性别:
- 来自: 卡哇伊
文章分类
- 全部博客 (299)
- C# (25)
- Java (1)
- WinForm (0)
- Asp.Net (86)
- Jsp (2)
- Php (1)
- Web Service (0)
- Desgin Patterns (19)
- Data Structure & Algorithms (1)
- SQLserver (41)
- Mysql (0)
- Oracle (2)
- Javascript (50)
- Ajax (10)
- Jquery (1)
- Flex (0)
- Regular Expression (5)
- DIV+CSS+XHTML+XML (18)
- Software Test (0)
- Linux (0)
- Utility (17)
- Net Digest (4)
- windows 2003 (10)
- Other (4)
- English (1)
- IT Term (1)
最新评论
-
w497480098h:
学习了 很好谢谢
SQL Server下无限多级别分类查询解决办法(简单查询树形结构数据库表) -
main_fun:
确实不错
iframe自适应高度 -
jveqi:
...
DBA -
mxcie:
其它版本没有确认,今天使用vs2003时,其.sln文件也需要 ...
彻底删除项目的VSS源代码管理信息 -
moneyprosper:
就只有IE支持,火狐和谷歌都不支持此种方法。正在寻找中。。。
从父页面读取和操作iframe中内容方法
GUID(全局统一标识符)是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。通常平台会提供生成GUID的API。生成算法很有意思,用到了以太网卡地址、纳秒级时间、芯片ID码和许多可能的数字。GUID的唯一缺陷在于生成的结果串会比较大。”
1. 一个GUID为一个128位的整数(16字节),在使用唯一标识符的情况下,你可以在所有计算机和网络之间使用这一整数。
2. GUID 的格式为“xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”,其中每个 x 是 0-9 或 a-f 范围内的一个十六进制的数字。例如:337c7f2b-7a34-4f50-9141-bab9e6478cc8 即为有效的 GUID 值。
3. 世界上(Koffer注:应该是地球上)的任何两台计算机都不会生成重复的 GUID 值。GUID 主要用于在拥有多个节点、多台计算机的网络或系统中,分配必须具有唯一性的标识符。
4. 在 Windows 平台上,GUID 应用非常广泛:注册表、类及接口标识、数据库、甚至自动生成的机器名、目录名等。
.NET中使用GUID
当Windows开发人员需要一个唯一数值时,他们通常使用到一个全局唯一标识符(GUID, Globally Unique Identifier)。微软采用GUID术语来表示这一唯一数值,而这一数值能够标识一个实体,比如一个Word文档。
一个GUID为一个128位的整数(16字节),在使用唯一标识符的情况下,你可以在所有计算机和网络之间使用这一整数。
这一篇文章将解释.NET框架如何尽其最大潜力地为你建立自己的GUID。
你所看到的,GUID被用于整个Windows环境。当你在一个Windows系统中仔细阅读注册表时,你可以看到GUIDs被广泛用于唯一识别程序。特别地,它们作为程序的Ids集中在HKEY_CLASSES_ROOT部分(AppID键)。
这就是一个典型的GUID的格式:
936DA01F-9ABD-4d9d-80C7-02AF85C822A8
在.NET中生成一个GUID处理一个唯一标识符使得存储和获得信息变得更加容易。在处理一个数据库中这一功能变得尤其有用,因为一个GUID能够操作一个主键。
同样,SQL Server也很好地集成了GUID的用途。SQL Server数据类型unique identifier能够存储一个GUID数值。你可以通过使用NEWID()函数在SQL Server中生成这一数值,或者可以在SQL Server之外生成GUID,然后再手动地插入这一数值。
在.NET中,后面一种方法显得更加直接。.NET Framework中的基本System类包括GUID数值类型。除此之外,这一数值类型包含了处理GUID数值的方法。特别地,NewGUID方法允许你很容易地生成一个新的GUID。
以下的C#命令行程序说明这一使用过程:
using System;
namespace DisplayGUID {
class GuidExample {
static void Main(string[] args) {
GenerateGUID();
}
static void GenerateGUID() {
Console.WriteLine("GUID: " + System.Guid.NewGuid().ToString());
} } }
下面为这一程序的输出:(虽然不同系统之间的GUID是变化的。)
GUID: 9245fe4a-d402-451c-b9ed-9c1a04247482
以上范例使用到System.Guid空间名称的NewGuid函数来返回一个数值。
一个GUID可以在后台数据库中操作一个主键。以下代码使用一个GUID在一个后台数据库中存储信息,这一数据库包含以下的列:
pk_guid—uniqueidentifier数据类型
name—nvarchar数据类型
这样出现一个包含文本框的简单Windows窗体。当选择按钮时,文本框中的数据被插入到数据库中。通过程序代码可以生成一个GUID并存储在其它列中:
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using Microsoft.ApplicationBlocks.Data;
namespace GuidDBExampleCSharp {
public class frmBuilderTest : Form {
private Label lblName;
private TextBox txtName;
private Button btnInsert;
private Container components = null;
public frmBuilderTest() {
InitializeComponent();
}
static void Main() {
Application.Run(new frmBuilderTest());
}
private string GenerateGUID() {
return System.Guid.NewGuid().ToString();
}
private void btnInsert_Click(object sender, System.EventArgs e) {
string cs = "server=(local);Initial Catalog=Northwind;Integrated
Security=SSPI";
using ( SqlConnection conn = new SqlConnection(cs) ) {
try {
string sqlInsert = "INSERT INTO dbo.tblBuilderTest (pk_guid, [name]) VALUES ('"
+ System.Guid.NewGuid().ToString() + "', '" + txtName.Text + "')";
conn.Open();
SqlHelper.ExecuteNonQuery(conn, CommandType.Text, sqlInsert);
} catch(Exception ex) {
System.Console.Write("Error: " + ex.Message);
} } } } }
另一个GUID程序将一个唯一的标识符分配给一个.NET类或者接口,也就是说,GUID作为一个属性被分配给类或者接口。可以使用标准属性语法来实现这一过程:
我们可以扩展第一个范例来分配一个GUID。System.Runtime.InteropServices空间名称必须被引用来使用GUID属性。以下C#代码实现了这一过程:
using System;
using System.Runtime.InteropServices;
namespace DisplayGUID {
[Guid("9245fe4a-d402-451c-b9ed-9c1a04247482")]
class GuidExample {
static void Main(string[] args) {
GenerateGUID();
}
static void GenerateGUID() {
Console.WriteLine("GUID: " + System.Guid.NewGuid().ToString());
} } }
GUID永远是方便的
对于程序开发的各个方面,.NET Framework简化了建立和处理GUID数值的过程。在.NET程序需要的地方,这一功能很容易地生成唯一的数值。
发表评论
-
向SqlCommand对象的ParameterCollections集合添加参数时犯的低级错误
2009-10-23 16:58 1512今天写代码遇到了一个小小的问题看来是基础不过关啊,嘿嘿. ... -
数字金额转为大写金额
2009-10-21 16:46 1269方法一: /// <summary> ... -
格式化文件大小的C#方法
2009-10-21 10:31 1812/// <summary> // ... -
学习C#:Attribute与Property
2009-10-04 14:23 2779一.什么是Attribute 先看下面的三段代码: ... -
String和StringBuilder的区别和使用
2009-08-11 10:22 1276String是固定不变的,在进行字符串连接的时候是新建一 ... -
C#值类型后面加问号表示可为空null(Nullable 结构)
2009-08-04 14:38 7981值类型后面加问号表示可为空null(Nullable 结构)N ... -
C# 替换去除HTML标记方法(正则表达式)
2009-07-31 11:02 8640using System.Text.RegularExpres ... -
C#里面比较时间大小三种方法
2009-07-29 12:55 12231。比较时间大小的实验 string str1 ... -
DataTime.Ticks
2009-07-29 07:30 4502java Date.getTime() getTime pub ... -
.net读取和写入txt文件
2009-07-21 23:34 7353//检查文件,如果文件不 ... -
Static方法
2009-07-19 23:28 8571.static方法是类中的一个成员方法,属于整个类,即使不用 ... -
C#中判断空字符串的3种方法性能分析
2009-07-02 08:47 12403种方法分别是: string a="&qu ... -
ASP.NET发布网站解决方案
2009-06-30 14:31 5360对于想了解发布网站那 ... -
C#中@的用法
2009-06-28 06:13 8681. 加在字符串前面,字符串中的 \ 失去转义符的作用,直接 ... -
c# cs 生成dll
2009-06-25 23:00 2360C# 语言是一种简单但功 ... -
C#项目引用完全相同dll文件的问题解决方法(反射)
2009-06-25 19:52 7216今天有开发人员问我一个问题,他的项目中要引用两个类库,这两 ... -
ADO.NET事务
2009-06-23 14:07 980private void DemoTranscation() ... -
null,"",String.Empty的区别
2009-06-16 16:37 11801.null null 关键字是表示不引用任何对象的空引用 ... -
C#类和接口、虚方法和抽象方法及值类型和引用类型的区别
2009-06-13 14:56 10971.C#类和接口的区别 ... -
Asp.net日期格式
2009-06-06 18:37 1286DateTime dt = DateTime.Now; ...
相关推荐
GUID(全局统一标识符)是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。生成算法用到了以太网卡地址、纳秒级时间、芯片ID码和许多可能的数字。
下面详细介绍如何实现这一操作: 1. **使用AssemblyInfo.cs文件** 当创建一个新的C#项目时,Visual Studio会自动生成一个名为AssemblyInfo.cs的文件。在这个文件中,你可以看到`[assembly: Guid("")]`这样的注释行...
本文将详细介绍第二种方法,即通过调用Windows API中的`CoCreateGuid`函数来生成GUID。 #### 三、代码解析 根据给定文件的代码片段,我们可以看到一个VB项目中包含了三个公共函数:`GetGUID`、`SplitGUID`以及`...
描述中提到的链接是一个博客文章,作者可能详细介绍了该guid生成工具的使用方法、功能特点以及可能的应用场景。由于具体文章内容未给出,我们可以推测文章可能涵盖了以下几点: 1. **工具使用方法**:如何启动和...
本文将详细介绍如何在C++环境下生成GUID,并提供一份已经过测试的有效代码示例。 #### 二、GUID概念解析 GUID是一种128位长度的数据类型,通常用于标识特定的对象或实例。它由32个十六进制数字组成,其中包含连...
下面将详细介绍文件中列出的部分设备及其对应的GUID: 1. **1394HostBusController** - Class=1394 - ClassGuid={6bdd1fc1-810f-11d0-bec7-08002be2092f} 这个类包含了连接在PCI总线上的1394主机控制器的系统...
本示例主要介绍如何通过Hibernate框架配置,来实现MySQL数据库中GUID主键的自动生成。Hibernate是Java领域广泛使用的对象关系映射(ORM)框架,它允许开发者以面向对象的方式来操作数据库。 首先,我们需要理解GUID...
描述中的链接指向了一篇博客文章,虽然具体内容未给出,但通常这类文章会详细介绍如何在Java中实现自定义的GUID生成器。`RandomGUID.java`可能是该博客提供的示例代码,可能包含了一个类,用于生成类似于`UUID....
下面将详细介绍这个例子中的关键技术点。 1. **GUID与真随机数**:GUID是由微软定义的一种128位的数字,通常用16进制表示,长度为32个字符。GUID的生成基于多种不可预测的因素,如时间戳、系统硬件信息等,因此可以...
软件介绍: 请您使用附件中更新主板1394 ID的软件输入您的1394 ID请依下列步骤操作软件输入您的1394 ID:1、在主板FLOPPY1接口上找到您主板1394 ID号码记下来(黄色标签)2、将下载的软件压缩档解压缩到一片可...
在介绍这个方法之前,首先需要理解UUID和GUID的概念以及它们的应用场景。 UUID(Universally Unique Identifier)是一种标准化的128位长度的全局唯一标识符,它可以保证在同一时间和空间范围内的所有生成的UUID都是...
标题和描述提及了“netcore_guid3.1.pdf”,文档的标题暗示了文档是一个关于.NET Core 3.1的指导手册或指南。.NET Core 3.1是一个广泛使用的开源、跨平台的.NET实现,用于创建现代网络应用、云服务以及其他应用程序...
本指南以简练的方式介绍了Git的基本使用方法,适用于初学者快速上手。主要内容包括Git的安装、基本概念、工作流程、添加与提交更改、推送更改到远程仓库以及分支管理等。 #### 安装Git - **OSX版**:直接下载OSX版...
在Unity3D游戏开发中,`Unity GUID`(全局唯一标识符)是一个重要的概念,它用于唯一地识别项目中的资源,如模型、纹理、音频文件等。在导入FBX文件时,由于Unity会根据贴图生成材质,因此当多个物体共享同一贴图时...
4. **数据同步与复制**:介绍如何在多个数据库之间实现数据同步和复制,确保数据的一致性和完整性。 5. **高级特性**:探讨了一些高级特性,例如 XML 支持、地理空间数据管理、全文搜索等功能。 6. **故障排除与技术...
4. **新特性介绍:** 第八版不仅涵盖了OpenGL 4.3的核心功能,还介绍了最新的标准和技术特性,包括但不限于增强的渲染管线、多线程支持、并行计算能力等。 5. **实用示例与代码:** 书中包含了大量实际操作的例子和...
这个文档可能是VTK的入门介绍,会包含VTK的基本概念、设计哲学以及其在科学可视化中的作用。可能会介绍VTK如何帮助开发者创建交互式的3D图形应用程序,并提供一些基本的使用案例。 3. **02 Installation.pdf**: ...
整体来看,这份指南为开发者提供了全面且详尽的Apex开发资源,无论是Apex语言的基础知识、高级特性还是最佳实践,都被清晰且系统地介绍,使开发者能够有效地在Salesforce平台上进行开发和优化。通过遵循这份指南,...
从压缩包子文件的文件名称来看,"A-light-wrapper-class-for-GUID.pdf"可能是一份文档,详细介绍了CGuid类的设计和使用。而"LogOn.aspx?rp=%2FKB%2FCOM%2FGUID_wrapper_class%2FGUID_wrapper_class_src.zip&download...