从后面的代码与客户端调用外部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服务[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

从 WSDL 文件生成 Web 服务 [关闭]

从 .NET 2.0 客户端调用 Web Api 服务

WCF客户端 - EncryptedKey子句未包含所需的加密令牌

socket通信客户端发送的数据,服务器端只能收到空格后面的数据,这是怎么回事??

创建 web 应用程序的最佳方法,该应用程序在外部客户端调用他自己的休息服务时动态更新 UI [关闭]

使用xfire客户端调用CXF的服务时,出现空指针异常。