如何解决通过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 举报,一经查实,本站将立刻删除。