栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何在C#/。NET中查找本地计算机的FQDN?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在C#/。NET中查找本地计算机的FQDN?

注意:此解决方案仅在针对.NET 2.0(及更高版本)框架时才有效。

using System;using System.Net;using System.Net.NetworkInformation;//...public static string GetFQDN(){    string domainName = IPGlobalProperties.GetIPGlobalProperties().DomainName;    string hostName = Dns.GetHostName();    domainName = "." + domainName;    if(!hostName.EndsWith(domainName))  // if hostname does not already include domain name    {        hostName += domainName;   // add the domain name part    }    return hostName;         // return the fully qualified name}

更新

由于很多人都评论说“
Sam的答案”更为简洁,所以我决定在答案中添加一些评论。

需要注意的最重要的事情是,我提供的代码 不等同 于以下代码:

Dns.GetHostEntry("LocalHost").HostName

在通常情况下,当机器联网并且是域的一部分时,两种方法通常会产生相同的结果,而在其他情况下,结果将有所不同。

当计算机不属于域时,输出将不同的情况。在这种情况下,

Dns.GetHostEntry("LocalHost").HostName
将返回,
localhost
而上述
GetFQDN()
方法将返回主机的NETBIOS名称。

当查找计算机FQDN的目的是记录信息或生成报告时,此区别很重要。大多数时候,我在日志或报告中使用此方法,随后将这些信息用于将信息映射回特定计算机。如果机器未联网,则

localhost
标识符将无用,而名称会提供所需的信息。

因此,最终取决于每个用户哪种结果取决于他们需要哪种方法。但是说这个答案不够简洁是错误的,充其量只是表面现象。

请参见输出不同的示例:http :
//ideone.com/q4S4I0



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/432907.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号