代码之家  ›  专栏  ›  技术社区  ›  user134146

C on.NET 3.5 SP1 system.security.principal.windowsIdentity.getcurrent()。name以不同的顺序返回名称?[关闭-配置错误]

  •  0
  • user134146  · 技术社区  · 15 年前

    我正在C中处理Windows窗体.NET 3.5项目,该项目使用以下行获取当前用户:

    Created_By = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
    

    在一个框中,结果是hostname\username,而在我的框中,结果是username\hostname。两个盒子都运行Windows7 Ultimate。

    我在谷歌上搜索,但没有找到任何解释。

    理解任何解释或建议,

    达维特

    1 回复  |  直到 15 年前
        1
  •  0
  •   Dirk Vollmar    15 年前

    根据 MSDN 这个 Name 属性应返回用户名:

    登录名的格式为“域\用户名”。

    结果是由同一个组件在不同的机器上产生的吗?这台机器是域的一部分吗?

    虽然我无法解释您所经历的行为,但您可以尝试以下解决方法:

    string username = Environment.UserDomainName + "\\" + Environment.UserName;