从后面的代码与客户端调用外部Web服务[关闭]
Posted
技术标签:
【中文标题】从后面的代码与客户端调用外部Web服务[关闭]【英文标题】:calling external web service from code behind vs client side [closed] 【发布时间】:2020-04-26 09:20:36 【问题描述】:我正在学习 Web 服务,所以我根据this 教程设置了一个测试环境。然后,我在同一解决方案中创建了一个 Web 应用程序项目,并在设置 Web 引用后成功调用了该服务。然后我尝试使用 ajax 调用该服务。我收到了 CORS 错误。我不太熟悉“CORS”,所以我决定在后面的代码中创建一个 Web 方法,然后调用外部服务。它可以正常工作。这让我想知道从客户端调用外部服务的“最佳实践”是什么。您应该尝试直接调用还是调用 Web 方法然后调用服务?
【问题讨论】:
【参考方案1】:在我看来,从后端调用外部服务/API 通常是最好的选择。它具有多种好处,例如:
-
安全。服务产生的错误或异常可以轻松处理。
控制。响应和数据可以在客户端显示之前进行过滤和解析。
速度。如果您想对响应进行任何计算,通常在服务器端执行比在客户端执行更快。
可测试性。在后端编写这些调用将允许您通过XUnit 等通用测试框架更轻松地对外部服务的请求进行单元测试
【讨论】:
好意见...这些都不是真正代表绝对真理的:)。 1 - 您在哪里编写代码来处理错误没有区别,2 - 响应可以在显示在任一侧之前被过滤/处理,3 - 发出 2 个请求而不是一个(代理服务 + 实际服务与仅实际服务)通常较慢, 4 一般不缺客户端测试框架...以上是关于从后面的代码与客户端调用外部Web服务[关闭]的主要内容,如果未能解决你的问题,请参考以下文章
WCF客户端 - EncryptedKey子句未包含所需的加密令牌
socket通信客户端发送的数据,服务器端只能收到空格后面的数据,这是怎么回事??