唯一实例会话ID是否在程序内部生效?

时间:2011-03-22 21:36:30

标签: c# uniqueidentifier

我正在寻找一个我可以从C#调用的变量,比如Environment.Username,它对于特定应用程序的实例是唯一的(比如最初打开应用程序时的时间戳或其他东西)。

如果可以,这将使我的项目更容易。谢谢!

4 个答案:

答案 0 :(得分:3)

Process.GetCurrentProcess().Id

对于应用程序进程的每个实例都是唯一的。每次重新启动应用程序时它都会更改:)

答案 1 :(得分:0)

您可以使用Guid.NewGuid(),这是唯一的。如果您在应用程序的生命周期内需要它,可以使用

public static Guid ApplicationId = Guid.NewGuid();

将在第一次使用此类型时填充。

答案 2 :(得分:0)

Windows下的每个进程都有一个唯一的进程ID。您可以通过Process.Id属性访问它。获取与当前正在运行的程序调用实例Process.GetCurrentProcess对应的Process实例。程序的每个实例都将在Windows中表示为一个单独的进程,因此将获得一个不同的(唯一的)进程ID。

答案 3 :(得分:0)

我不知道我是否理解你。你不需要这个吗?

public static class MyClass {
    // fore every process this value will be unique, but same for whole "life" of process
    private static readonly Guid unique = Guid.NewGuid();
    public static Guid Unique { get { return unique; } }
}