流水号组件所有的功能类都在 HslCommunication.BasicFramework 命名空间,所以再使用之前先添加

1
using HslCommunication.BasicFramework

首先,流水号的类就应该设置在服务器端,这样就能对所有的客户端进行掌控申请。服务器端的实例化如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
private void FormSeqTest_Load(object sender, EventArgs e)
{
HslCommunication.BasicFramework.SoftNumericalOrder softNumericalOrder = new HslCommunication.BasicFramework.SoftNumericalOrder(
"ABC", // "ABC201711090000001" 中的ABC前缀,代码中仍然可以更改ABC
"yyyyMMdd", // "ABC201711090000001" 中的20171109,可以格式化时间,也可以为"",也可以设置为"yyyyMMddHHmmss";
7, // "ABC201711090000001" 中的0000001,总位数为7,然后不停的累加,即使日期时间变了,也不停的累加,最好长度设置大一些
Application.StartupPath + @"\numericalOrder.txt" // 该生成器会自动存储当前值到文件去,实例化时从文件加载,自动实现数据同步
);

// 获取流水号,带有默认的数据头,也即实例化中的"ABC"
string seqNumber = softNumericalOrder.GetNumericalOrder();

// 获取流水号,带有自定义的数据头
string seqNumber = softNumericalOrder.GetNumericalOrder("XYZ");
}

注意:序号的位数最高可以设置为20位,即2的64次方,任何系统都够用了,一秒钟生成1亿个,可以使用5800年