cun*_*n83 13 .net vb.net dns active-directory resolve
我有一个关于Dns.GetHostEntry的非常具体的问题:
服务使用Dns.GetHostEntry使用主机的名称检索主机的所有IP地址.这一直很好.在特定客户处,Dns.GetHostEntry在查询特定主机时抛出"无此主机已知"错误.只有在尝试解析与安装该服务的计算机不同的域上的主机时,才会出现此问题.该服务已经工作了一段时间,但最近停止工作,抛出"没有这样的主机已知"错误(遗憾的是,没有堆栈跟踪可用).Nslookup工作,但没有问题.有问题的服务是用VB.NET编写的,目标是.NET Framwork 2.0.
.NET 3.0的MSDN条目中的注释(http://msdn.microsoft.com/en-us/library/ms143998(v=VS.85).aspx表明反向DNS条目可能存在问题主机,但我无法在测试网络上重现问题,即使删除了所有反向查找区域(其他.NET版本有更多注释,都有类似的问题).[编辑:]甚至deliberatly addind一个错误PTR记录不会使我的测试机器出现问题.
[EDIT2:]唯一导致错误的是断开网络适配器,从而使DNS服务器不可用,即使前向解析由于缓存仍然有效.
所以,我的问题是:
谢谢和最好的问候,cun83
我个人总是使用Dns.GetHostAddresses.它总能给我一个可靠的结果.
关于为什么Dns.GetHostEntry给你指定的错误,我认为这是因为DnsGetHostEntry会在返回你的IP地址之前尝试进行反向DNS查找.如果反向DNS查找失败,它将为您提供"没有这样的主机已知".
据我所知,Dns.GetHostAddresses只返回IP地址.
归档时间: |
|
查看次数: |
11237 次 |
最近记录: |