gpt4 book ai didi

asp.net - 间歇性 'the remote name could not be resolved'?

转载 作者:行者123 更新时间:2023-12-02 16:38:32 25 4
gpt4 key购买 nike

我有一个 ASP.NET 应用程序,经常使用它通过 HttpWebRequest 读取网页的内容。远程地址没有问题,我的应用程序始终工作正常。

虽然我没有更改任何内容,但有时(大约每天一次)我会收到此错误:

the remote name could not be resolved.

为什么以前解析的 DNS 名称有时无法解析?

最佳答案

此问题的间歇性将非常难以解决,并且需要更改配置而不是代码解决方案。 (提示:阅读所有内容;)

我猜测远程服务器 DNS 经常会过期。可能每天一次,甚至可能每 12 小时左右一次。这是 TTL(生存时间)设置。如果管理员需要能够快速将站点移动到新服务器,他们有时会人为地将其设置为较低的级别。

您可以通过转到命令提示符并运行来确定它过期的频率:

nslookup
set debug
www.theserverdomain.com

其顶部将有一个部分显示“AUTHORITY RECORDS:”,其下有一个项目显示“ttl”。

现在,(我在这里做出有根据的猜测),当您查询 DNS 服务器以解析您的服务器将缓存此值的主机名时,可能会发生什么。

但是,一旦过期,您的服务器将不得不联系上游的另一台服务器来获取 IP 地址解析,称为 DNS 转发。如果您的服务器和远程服务器之间有很多跃点,或者站点之间的其中一台 DNS 服务器过载,那么它可能会超时并发回您正在接收的消息。

如果这是真的,那么您唯一能做的就是将 DNS 和 IP 地址组合硬编码到您的 Web 服务器主机文件中。这通常位于C:\Windows\System32\drivers\etc,是一个名为“hosts”的文件。有一个关于如何在文件本身中正确编辑此内容的示例。

在该文件中创建主机映射后,您的 Web 服务器将不再需要联系 DNS 服务器来执行名称解析,并且 TTL 设置为多少也无关紧要。

这里唯一的危险是他们将网站移至新的 IP 地址。此时您只需再次更新您的主机文件即可...

关于asp.net - 间歇性 'the remote name could not be resolved'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5601797/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com