如何使用C#或VB.NET获取当前本地主机名?
我需要获取当前运行应用程序的主机名。有什么想法吗?除非我误解了你想做的事如何使用C#或VB.NET获取当前本地主机名?,c#,vb.net,winforms,C#,Vb.net,Winforms,我需要获取当前运行应用程序的主机名。有什么想法吗?除非我误解了你想做的事 System.Environment.MachineName 需要记住的是System.Environment.MachineName和System.Windows.Forms.SystemInformation.ComputerName将为您提供计算机的NETBIOS名称(限制为15个字符) 如果需要基于TCP/IP的完整主机名,可以使用: 或者您可以使用: System.Environment.GetEnvironm
System.Environment.MachineName
需要记住的是
System.Environment.MachineName
和System.Windows.Forms.SystemInformation.ComputerName
将为您提供计算机的NETBIOS名称(限制为15个字符)
如果需要基于TCP/IP的完整主机名,可以使用:
或者您可以使用:
System.Environment.GetEnvironmentVariable("COMPUTERNAME");
它将返回安装期间设置的完整计算机名。我的命名空间包含许多很棒的“助手”功能,如:
My.Computer.Name
要获取完全限定名,请使用:
System.Net.Dns.GetHostEntry("").HostName
当标题上写着c#.c#或vb.net时,你为什么要使用vb.net呢。。。任何都可以接受。好吧,文档对它的实现方式有点含糊不清,但这意味着它需要a)一个工作的网络连接,b)到DNS服务器的往返,以及c)DNS实际上知道你的机器名(不必知道,除非你的a服务器)@James Curran-绝对知道。但是Environment.MachineName将计算机名限制为15个字符的NETBIOS名称。GetHostName将检索基于TCP/IP的完整主机名。
System.Environment.GetEnvironmentVariable(“COMPUTERNAME”)
是否仅限Windows如果代码在IIS上运行,此选项是否仍然有效?它会返回什么?类似于“www.mySiteAddress.com”的东西?这似乎仅限于VB.NET,并且是该语言的专有语言:太好了,谢谢。VB真可爱。
My.Computer.Name
System.Net.Dns.GetHostEntry("").HostName