1

我开始评估 BreezeJS 以将其与 ASP.NET WebAPI 项目一起使用。首先,我很高兴找到一个项目,该项目将以可查询的方式向 OData 和 AJAX 客户端公开我的 MVC 数据,但随后我遇到了许多烦人的事情,我不知道该放在哪里,就 BreezeJS 库架构而言 - 战略性决定

  • BreezeJS 不提供服务文档(带有顶级集合)
  • 它也不提供基于标准的 $metadata url
  • 它有一个类似 OData 的元数据服务,它只与 BreezeJS 客户端兼容(好点它的 JSON 格式)
  • 请求/响应 JSON 有效负载根本不符合 OData

所以总而言之,我可以用来消费我的 MVC 项目的唯一客户端是 BreezeJS.js 甚至不是 datajs.js,其方式类似于 OData 但不是 OData(符合标准的客户端将无法识别它 - 恕我直言为什么这样做类似于标准但不符合标准的东西)。

现在有一个 Microsoft 支持的项目,称为 Microsoft ASP.NET Web API OData包,它确实支持上述所有场景,但这仍处于 alpha 阶段,尽管围绕它的社区讨论的规模很有希望。我已经广泛尝试过,尽管处于早期阶段,但它的作用就像魅力一样。

所以问题很明显:我应该决定支持 BreezeJS(他们声称在 rc 中)并失去标准合规性,还是在早期阶段承担 Microsoft 项目的风险并与 OData 保持一致?

我的目标是通过 AJAX 将我的 MVC API 发布到网站和移动设备。

更新:我发现 MS 最近更新了它的WebAPI OData 项目

4

1 回答 1

2

是的,我们也有类似的经历,我们想从 Excel 和 IOS 访问我们的数据,但是使用 Breezejs 无法正常工作,因此我们更改为 Microsoft 软件包,它工作得很好。

于 2012-11-08T13:51:37.910 回答