【问题标题】:What are some scenarios in which you need ASP.net Web API to consume a WCF Service?在哪些情况下您需要 ASP.net Web API 来使用 WCF 服务?
【发布时间】:2018-08-26 19:21:48
【问题描述】:

我知道 ASP.net Web 服务仅支持 HTTP 协议,而使用 WCF,您有更多选项,例如 TCP 和命名管道等。您能想到任何可能需要通过 ASP.net 使用 WCF 服务的场景网络 API?

【问题讨论】:

  • 如果您已经有一个 wcf 服务正在运行并且可用,它正在执行一些复杂的操作,并且您不希望它直接提供给您的消费者,您可以创建一个 Web API 并调用 wcf 服务来执行复杂的任务并让消费者使用 Web API。在 Web API 中,您可以为传入请求添加额外的验证和授权逻辑。
  • @ChetanRanpariya 不能在 WCF 服务中完成请求的验证和授权吗?这是一起使用它们的唯一原因吗?
  • 正如我所说,如果您不想将 wcf 服务按原样公开给您的客户,您可以通过 Web API 将其放在前面。 Wcf 和旧技术一样,编写新的东西并最终丢弃旧的东西而不是维护它会更容易。此外,如果 wcf 不使用 http 协议,则并非所有客户端都可以使用它。
  • 你的问题太宽泛了。根据您要解决的实际问题,它可能有不同的答案。我的回答是基于您提供的信息和我的经验。
  • @ChetanRanpariya 嗯,有道理。最后一行“另外,如果 WCF 不使用 HTTP 协议,那么并非所有客户端都能够使用它”,如果 Web api 不使用 HTTP 协议,它是否仍然能够与 WCF 服务通信?

标签: c# wcf asp.net-web-api


【解决方案1】:

以下是您要从 Web API 调用 wcf 服务的用例之一。

如果您已经有一个正在运行且可用的 wcf 服务正在执行一些复杂的操作,并且您不希望它直接提供给您的消费者,您可以创建一个 Web API 并调用 wcf 服务来执行复杂的任务和让消费者使用 Web API。在 Web API 中,您可以为传入请求添加额外的验证和授权逻辑。

Wcf 是一项较旧的技术,最好编写新的东西并最终替换 wcf,而不是维护它。

此外,如果当前的 wcf 设置无法通过 http 协议使用,则并非所有客户端都可以与其通信。 Web API 比 wcf 服务更有优势。

Web API 如何连接到 wcf 服务? 这取决于很多因素,例如网络、部署策略、安全性等。 但以下将是示例之一。

如果 wcf 服务在 tcp 和 web API 上可用,并且 wcf 在同一网络上运行,则 web API 可以调用 wcf。

根据您要解决的具体问题,可能会有不同的答案。

我的回答是基于您提供的信息以及我在现实生活中解决类似问题所获得的经验。

【讨论】:

    猜你喜欢
    • 2010-09-11
    • 1970-01-01
    • 2011-07-19
    • 1970-01-01
    • 2012-10-22
    • 1970-01-01
    • 2012-05-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多