我们编写了一个 C# 应用程序,可以与云中的一组 IP 中的任何一个进行通信。其中任何一个都可能无法正常工作。我们使用地址的 URL,因为 IIS 服务器需要主机头名称,以便路由到正确的应用程序接口。
因此,我们将 Hosts 文件设置为将 URL 指向 IP。然后我们在 URL 上发送一个命令来取回服务器时间。
这告诉我们连接正在工作。
如果我们没有得到响应,我们就认为连接已经死了。然后,我们将列表中的新 IP 写入 Hosts 文件,然后再试一次。
这是我们遇到错误的地方。该应用程序似乎没有看到 Hosts 文件已更改并使用旧(坏)IP。
应用程序中没有内置缓存,因此我们假设 Windows 正在为我们缓存。
我们尝试使用以下方法刷新缓存:
ipconfig /flushdns arp -d * nbtstat -R
我们仍然遇到同样的问题。关于如何清除缓存的任何想法?