从代码背后调用外部 Web 服务与客户端

calling external web service from code behind vs client side

我正在学习 Web 服务,所以我根据 this 教程设置了一个测试环境。然后,我在同一解决方案中创建了一个 Web 应用程序项目,并在设置 Web 引用后成功调用了该服务。然后我尝试使用 ajax 调用该服务。我收到 CORS 错误。我不太精通 'CORS' 所以我决定在后面的代码中创建一个 Web 方法,然后调用外部服务。它没有错误。这让我想知道 "best practice" 是什么用于从客户端调用外部服务。您应该尝试直接调用还是调用 Web 方法然后调用该服务?

在我看来,从后端调用外部服务/API 通常是最好的选择。它有多种好处,例如:

  1. 安全。服务出现的错误或异常可以轻松处理。
  2. 控制。可以在客户端显示响应和数据之前对其进行过滤和解析。
  3. 速度。如果您想对响应进行任何计算,执行服务器端的速度通常比客户端快。
  4. 可测试性。在后端编写这些调用将使您可以更轻松地通过 XUnit
  5. 等通用测试框架对您对外部服务的请求进行单元测试