Breezejs WebAPI OData与Microsoft ASP.NET Web API OData

时间:2012-11-08 13:39:47

标签: asp.net-mvc asp.net-web-api odata breeze

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

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

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

现在有一个名为Microsoft ASP.NET Web API OData软件包的微软支持的项目支持所有上述方案,但这是在alpha阶段,尽管有一个很有希望的社区嗡嗡声。我已经广泛地尝试了它,尽管处于早期阶段,它仍像魅力一样。

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

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

更新:我发现MS已更新其WebAPI OData project recently

1 个答案:

答案 0 :(得分:2)

是的,我们有类似的经历,我们想从Excel和IOS访问我们的数据,但是使用Breezejs它没有用,所以我们改为Microsoft软件包,它的工作效果非常好。