.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 的服务是否更可靠?

.Net options for JSON API?

另一个竞争者是 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。