我们的 ASP.Net Core API 部署在 Windows 2019 的 IIS 上,每小时向 Shippo 发出 2500 多个带有跟踪号的请求,周四下午 Shippo 出现了问题。我们的 API 调用由 5 个客户端的中间件服务发起,这些服务每小时 24/7 运行一次。我们的 Shippo 请求一直返回 404,尽管 Shippo 已经解决了这个问题,我可以通过 Postman 连接。
我不是服务器管理员,但我有足够的知识尝试以下操作:停止 IIS,然后在 10 秒延迟后启动它。重新启动机器。将 API 网站离线 90 分钟。刷新 IIS 服务器上的 DNS 缓存,重新部署略微更改的 webapi 版本。当然,这是一个假期周末,我们的托管 IT 提供商还没有回复我。在等待期间我应该尝试下一步做什么?
答案1
更新:这肯定与 Shippo 中断有关,但这是一个编码问题。我们的遗留代码可以正常工作,如下所示:
UriBuilder uribuilder = new UriBuilder(settings.url_base);
uribuilder.Path += "/tracks/";
正在创建的 URL 明确引用了端口 443(https://api.goshippo.com:443)/,而不是普通的https://api.goshippo.com/url,在调试过程中我没有注意到这一点,直到我决定编写一个应用程序来在我们的 API 之外查询 Shippo。显然,Shippo 在解决问题时进行了设置更改,不再允许 url 直接引用端口 443(或更改了端口)。一旦我正确设置了 url,它就起作用了。感谢 Appleoddity 和 Keith Langmead 的帮助。