【发布时间】: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