我正在制作WCF应用程序,我只想了解连接到服务器的用户的一些额外信息。它不必是唯一ID。

我真的想要一些简单的东西。这行得通吗?

static UserInfo() // d-constructor
        {

            MachineID = Environment.MachineName;
            MachineID = MachineID + Convert.ToString(Environment.OSVersion);
            MachineID = MachineID + Environment.ProcessorCount;
            MachineID = MachineID + Environment.UserName;
            MachineID = MachineID + Environment.Version;
        }

最佳答案

当然可以。我迅速签入LINQPad 4,它返回正常:


  我的机器Microsoft Windows NT 6.1.7601 Service Pack 14myuser4.0.30319.296


如果您希望字符串中没有空格,则可以考虑使用下划线或类似的内容替换空格-也许...

MachineID = MachineID.Replace(' ', '_');


...添加到UserInfo()方法的末尾。

更新:

要遵循以下评论,Windows 7 Help Forums具有快速步骤以创建以特定用户身份运行命令的快捷方式:测试我设置了以非管理员用户cmd.exe身份运行myuser的快捷方式。 。再次,我在这里的测试是然后在命令行中以set的身份运行systeminfomyuser-类比测试,但我认为足够。

更新:

为了进一步了解,我创建了另一个快捷方式以非管理员用户myuser的身份运行LINQPad 4,然后重新运行代码:也没有通过这种方式测试过问题。我想要取悦。 :)

10-07 21:01