【发布时间】:2013-10-03 10:42:53
【问题描述】:
我自己和我的架构师正在为我们的一个产品设计架构,他建议使用 Web Api 作为服务层(因为它是一个轻量级组件)。
我马上就在考虑如何将它用于非基于 http 的客户端以及外部客户端。我们如何提供关于我们 API 的代理信息(如果 API 有一个复杂类型作为参数)?
请咨询我们是否可以使用 Web API 作为服务层?
【问题讨论】:
标签: asp.net architecture asp.net-web-api
我自己和我的架构师正在为我们的一个产品设计架构,他建议使用 Web Api 作为服务层(因为它是一个轻量级组件)。
我马上就在考虑如何将它用于非基于 http 的客户端以及外部客户端。我们如何提供关于我们 API 的代理信息(如果 API 有一个复杂类型作为参数)?
请咨询我们是否可以使用 Web API 作为服务层?
【问题讨论】:
标签: asp.net architecture asp.net-web-api
我马上就在考虑如何将它用于非基于 http 的客户端
嗯,它不能。 Web API 仅在 HTTP 协议之上工作。如果您需要使用其他一些传输协议,例如 UDP,您可以考虑使用 WCF。
我们如何提供有关我们 API 的代理信息
RESTful 服务没有代理信息的概念。对于非 .NET 客户端,它们应该有很好的文档记录。对于 .NET 客户端,您可以在服务器和客户端应用程序之间共享合同(请求/响应 Dto)。然后,客户端应用程序可以重用那些 Dto,它们可能充当您所谓的 proxy 并且存在于 SOAP 世界中但不存在于 REST 世界中。
【讨论】:
HttpClient直接连接到HttpServer