2009-11-04 58 views
1

我使用互联网IE 7,IE 8结算/编辑Internet Explorer的DNS缓存

我在DNS中运行的应用程序故障切换与主环境和备份服务器。在主服务器关闭的情况下,2-3分钟后,故障切换将更改为辅助服务器。

但问题是,IE中当前打开的页面由于dns缓存仍然向主服务器发送请求,这会将主服务器的IP存储为默认30分钟)并挂起。

如果我们可以用C#ASP.Net编码清除或编辑dns缓存,则可以解决此问题。

在此先感谢您的回复。

回答

0

在dnsapi.dll中有一个未公开的api,称为DnsFlushResolverCache,有关如何从C#(而不是ASP.NET)使用它的示例,请参阅this link

2

您无法从ASP.NET服务器或浏览器中的任何内容访问客户端计算机的DNS缓存。这样做对任何一个环境来说都是一个巨大的安全漏洞。

如果您正在寻找DNS故障转移,更好的方法是与网络管理员联系。要求他/她将DNS记录的TTL设置为小于故障切换时间的数字。这将增加客户端机器刷新其缓存(仅针对您的站点)的频率,并在发生故障转移时缩短停机时间。

可以忽略的缺点是,它可以增加(稍微)他们的等待时间,因为他们必须更频繁地执行DNS请求。

+1

如果等待时间成为问题,再次与您的网络管理员谈谈,以解决他们的网络硬件问题:) –

+0

@Aaron Digulla:谢谢,更新说明缺点是微不足道的。 –

0

我有类似的问题从JAva小程序。 JVM具有不遵循系统属性禁用DNS缓存的错误。任何解决方法?更改java.security文件。但我正在寻找更好的解决方案。