微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

通过system.net.dns获取局域网内客户端机器名

如何解决通过system.net.dns获取局域网内客户端机器名

我们需要知道员工用于访问网站的 PC 名称(在 LAN 中),这非常重要,但我不确定结果是否取决于 DNS 缓存。

在 HomeController.cs 中:

var clientIP = System.Net.IPAddress.Parse(Request.ServerVariables["REMOTE_ADDR"]);
var pcName = System.Net.Dns.GetHostEntry(clientIP).HostName;
--Output: PC-JOHNJD23232.DOMAINCOMPANY.CORP.COM

那么结果对于动态 IP 还是静态 IP 总是正确的?如果不是,什么时候“pcName”的值会出错?

更新

我们有 windows 应用程序、windows 服务、网站一起工作,包括 PC 名称。当员工点击网站上的某个按钮时,系统需要知道PC名称;并在该 PC 上触发 Windows 服务,后跟 PC 名称

历史动态IP:

电脑名称 星期一 周二
PC-A001 192.168.123.10 192.168.123.40
PC-B999 192.168.123.40 192.168.123.10

周二,IP 192.168.123.10 请求网站。我想问:

系统什么时候检测到PC名称错误,是“PC-A001”?由于缓存 DNS 或其他原因。如果发生这种情况,Windows 服务将触发错误的 PC。

或者它从来没有发生过,我太担心了?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。