.net 如何以编程方式刷新Windows Mobile中的DNS缓存?

.net 如何以编程方式刷新Windows Mobile中的DNS缓存?,.net,compact-framework,network-programming,dns,.net,Compact Framework,Network Programming,Dns,我的windows mobile应用程序(用C#编写,使用紧凑的框架)需要知道特定的机器是否处于活动状态 为了实现这个目标,我想使用ping机制。我尝试使用opennetcf框架中实现的Ping类(用于.Net框架的System.Net.NetworkInformation.Ping类不是compact框架的一部分) 因为我给Ping.Send函数一个主机名,所以它首先尝试解析这个主机名并检索IP地址 但我观察到以下问题: 如果第一个dns解析失败(因为此时网络已关闭),并且如果应用程序立即再次

我的windows mobile应用程序(用C#编写,使用紧凑的框架)需要知道特定的机器是否处于活动状态

为了实现这个目标,我想使用ping机制。我尝试使用opennetcf框架中实现的Ping类(用于.Net框架的System.Net.NetworkInformation.Ping类不是compact框架的一部分)

因为我给Ping.Send函数一个主机名,所以它首先尝试解析这个主机名并检索IP地址

但我观察到以下问题: 如果第一个dns解析失败(因为此时网络已关闭),并且如果应用程序立即再次尝试发送ping,则即使网络已被记录,也会失败。 我与一个著名的网络协议分析器进行了检查,发现只发送了关于第一个dns解析的请求。未发送关于第二次ping的dns解析的请求

为什么第二个dns请求未发送? 此类Windows Mobile设备上是否存在dns缓存机制? 如果是,该机制是否可以通过编程方式刷新

编辑:我放弃了寻找此DNS刷新的解决方案。 我选择ping一个IP地址而不是一个名字机。 ping硬编码地址IP的问题是,我们必须100%确保该IP不会更改。
网关IP可以使用,因为它总是可访问的(如果不可访问,则表示网络已关闭)。

这是一个很好的问题,需要深入研究

我知道这个答案可能晚了,但是试试看