如何使用 C# 或 VB.NET 获取当前的本地主机名? [复制]
Posted
技术标签:
【中文标题】如何使用 C# 或 VB.NET 获取当前的本地主机名? [复制]【英文标题】:How can I get the current local hostname using C# or VB.NET? [duplicate] 【发布时间】:2011-03-30 12:35:20 【问题描述】:我需要获取当前运行应用程序的主机名。有什么想法吗?
【问题讨论】:
当标题说 c# 时,你为什么还要 yags vb.net。 C# 或 VB.NET ...任何都可以接受 【参考方案1】:需要记住的是System.Environment.MachineName;
和System.Windows.Forms.SystemInformation.ComputerName;
会给你机器的NETBios 名称(限制为15 个字符)。
如果您想要完整的基于 TCP/IP 的主机名,您可以使用 Dns.GetHostName()
:
string hostName = System.Net.Dns.GetHostName();
或者你可以使用:
System.Environment.GetEnvironmentVariable("COMPUTERNAME");
这将返回安装期间设置的完整计算机名称。
【讨论】:
好吧,文档对它的实现方式有点含糊,但暗示它需要 a) 有效的网络连接,b) 到 DNS 服务器的往返,以及 c) DNS 实际上知道您的机器名称(它不必知道,除非您的服务器) @James Curran - 绝对。但是 Environment.MachineName 将计算机名称限制为 15 个字符的 NETBIOS 名称。 GetHostName 将检索基于 TCP/IP 的完整主机名。System.Environment.GetEnvironmentVariable("COMPUTERNAME");
仅适用于 Windows
如果代码在 IIS 上运行,这仍然有效吗?它会返回什么?像“www.mySiteAddress.com”这样的东西??【参考方案2】:
除非我弄错了你想做什么..
System.Environment.MachineName
【讨论】:
【参考方案3】:要获得完全限定的名称,请使用:
System.Net.Dns.GetHostEntry("").HostName
【讨论】:
【参考方案4】:My 命名空间包含许多很棒的“帮助”函数,例如:
My.Computer.Name
【讨论】:
这似乎仅限于 VB.NET 并且是该语言专有的:msdn.microsoft.com/en-us/vstudio/ms789188.aspx 太好了,谢谢。 VB太可爱了。【参考方案5】:System.Windows.Forms.SystemInformation.ComputerName;
【讨论】:
以上是关于如何使用 C# 或 VB.NET 获取当前的本地主机名? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
从网站获取 HTML ID 以填写信息并按下 c# 或 vb.net 中的按钮
如何使用正则表达式匹配从 xml 文件中搜索和替换包含占位符标记的文本。 VB.net 或 C#