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

前端之家收集整理的这篇文章主要介绍了.net – 如何以编程方式刷新Windows Mobile中的DNS缓存?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的 Windows移动应用程序(使用紧凑框架用C#编写)需要知道特定机器是否处于活动状态.

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

因为我向Ping.Send函数提供主机名,它首先尝试解析此主机名并检索IP地址.

但我观察到以下问题:
如果第一个DNS解析失败(因为此时网络已关闭),并且如果应用程序再次立即尝试发送ping,则它也会失败,即使网络再次记录下来也是如此.
我查看了一个着名的网络协议分析仪,我发现只发送了有关第一个DNS解析的请求.不发送关于第二次ping的DNS解析的请求.

为什么没有发送第二个DNS请求?
这样的Windows Mobile设备上是否有任何dns缓存机制?
如果是的话,这个机制可以通过编程方式刷新吗?

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

解决方法

这是一个很好的问题,并进行了一些挖掘

我知道这个答案可能会迟到,但试一试

http://social.msdn.microsoft.com/Forums/en-US/vssmartdevicesnative/thread/7eda3979-6424-4702-89f4-1f586b613b01

猜你在找的Windows相关文章