在代码隐藏中从 url 请求文件时出现 504 错误

504 error when requesting file from url in codebehind

我正在尝试使用 URL 读取文件,但我一直收到 504 网关超时。

用户提交表单,我需要使用 XmlTextReader 从相当大的 xml 文件 (45mb) 中获取一些信息。但是,每次发出请求时,它都会在一台服务器上返回 504 网关超时,但它在另一台服务器上运行良好。大约 20 秒后会抛出 504 错误,但是在它起作用的另一台服务器上,读取文件的速度比这快得多。

XmlTextReader reader = new XmlTextReader(localUrl);

奇怪的是 IIS 甚至没有记录这个请求。我查看了日志,我可以在系统中找到可用的条目,但是在不可用的系统中,IIS 日志中没有请求。使它看起来像它甚至没有击中 IIS。

问题似乎是 AppPool 所在的用户 运行 的代理设置设置不正确,因此无法进行所需的调用。

我更正了该用户的代理设置后,它就开始工作了。