【发布时间】:2020-02-20 20:17:58
【问题描述】:
我正在使用以下代码生成一个唯一的应用程序实例 ID 用于日志记录。
public MainWindow()
{
InitializeComponent();
Random rnd = new Random();
instanceID = rnd.Next(100000, 999999);
/// ...
}
我的应用程序从 windowsserver 开始,作为不同的服务(使用 nssm)2 次或更多次具有不同的参数。 我的问题:如果它们同时开始(同一秒),则 instanzID 相同,如果 1 秒或更多秒的差异 instanzID 不同。 我怎样才能避免这种情况?
【问题讨论】:
-
"生成唯一的应用程序实例ID" - 语义很重要。 “随机”和“独特”是两个截然不同的东西。也许改用
Guid? -
谢谢,我改成Guid.NewGuid,下次测试一下