.Net options for JSON API?
本文关键字:API JSON for options Net | 更新日期: 2023-09-27 18:32:55
我需要创建一个.Net api,它将返回将由移动应用程序使用的JSON。
一种方法是只使用 MVC 应用程序并让我的控制器返回 JSON,因此转到 url.com/controller/action/params 会给我我的 JSON。
我听说创建 WCF 服务也是一个不错的选择。不过,我对WCF知之甚少。
每个都有优点和缺点吗?使用仅返回 JSON 的服务是否更可靠?
另一个竞争者是 ASP.NET Web API,它在自承载方案中使用 WCF。
有利有弊,但这完全取决于您现在需要什么与后者,您的专业水平,技术承诺以及设计权衡是什么。
这取决于你所说的可靠是什么意思。一种技术不一定或多或少可靠。影响可靠性的因素有很多。
这些是少数优点/缺点中的一些,没有特定的顺序,偏好或完整性。
ASP.Net MVC/WebApi/ServiceStack
优点:
- 基本方案在几分钟内设置并运行(让 URL 获取一些 JSON 数据(
- 易于配置。
- REST 设置直接。
- 完全控制路由。
- JSON 本机支持(ASP.NET Web API 可以自动序列化
将模型转换为 JSON、XML 或其他格式,然后写入
将序列化的数据序列化到 HTTP 响应
的正文中消息。
缺点:
- 无法向消费者描述您的服务:目前还没有像 WSDL 这样的 API 可以告诉客户端数据类型、操作和服务要求
- 仅传输安全 - 点对点安全
- 无消息级安全性
- 无服务发现协议(截至目前(
- 无消息路由
- 没有多协议支持,例如 tcp
- 单个托管方案(IIS - 这也可以是专业人士(
周转基金
优点:
- 多协议支持
- 传输和消息安全
- 高度可配置和互操作
- 非常可扩展
- 支持各种消息传递场景,例如路由、双工、发布/订阅、排队等。
- 许多用于塑造消息和内部工作的旋钮
- 各种宿主方案(IIS/WAS、Windows 服务、控制台(
缺点:
- 陡峭的学习曲线
- REST 故事很弱(是的,webHttpBinding 存在,但尝试向某人解释 TemplateURI 和 WebInvoke/Web get 和 BodyStyle(
- 很多旋钮
如果您正在寻找的只是一项服务,那么我会建议像 WCF 这样的东西。但是,WCF很麻烦,所以我建议使用更简单的东西,比如ServiceStack。它允许您使用基本 POCO 创建服务。它还内置并准备使用 JSON/XML/SOAP 进行响应(您无需执行任何额外操作(
我真的会采用WCF方法。它将为您提供更大的灵活性,并允许您使用许多不同的协议运行服务,而不仅仅是HTTP。