我正在使用internet IE 7、IE 8
我的应用程序在具有主服务器和备份服务器的dns故障转移环境中运行。当主服务器关闭时,故障切换将在2-3分钟后更改到辅助服务器。
但问题是,由于dns缓存,IE中当前打开的页面仍在向主服务器发送请求,该缓存会将主服务器的IP存储30分钟)并挂起。
如果我们可以使用C# ASP.Net编码清除或编辑dns缓存,则可以解决此问题。
提前感谢您的回复。
发布于 2009-11-04 21:25:13
您不能从ASP.NET服务器或浏览器中的任何内容访问客户端计算机的DNS缓存。这样做对这两个环境中的任何一个都是一个巨大的安全漏洞。
如果您正在寻找DNS故障转移,更好的方法是与您的网络管理员交谈。要求他/她将DNS记录的TTL设置为小于故障转移时间的数字。这将提高客户端计算机刷新其缓存的频率(仅适用于您的站点),并缩短发生故障转移时的停机时间。
可以忽略不计的缺点是,它可能会增加(甚至稍微增加)他们对站点的等待时间,因为他们必须更频繁地处理DNS请求。
发布于 2009-11-04 21:24:42
在dnsapi.dll中有一个名为DnsFlushResolverCache的未文档化接口,有关如何在C# (而不是ASP.NET)中使用它的示例,请参阅this link。
发布于 2010-11-09 15:22:19
我在JAva小程序中遇到了类似的问题。JVM有一个错误,它不支持禁用DNS缓存的系统属性。有什么解决方法吗?更改java.security文件可以正常工作。但我正在寻找一个更好的解决方案。
https://stackoverflow.com/questions/1673694
复制相似问题