【发布时间】:2012-10-28 17:01:18
【问题描述】:
我开始评估 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 发布到网站和移动设备。
更新:我发现微软已经更新了它的WebAPI OData project recently
【问题讨论】:
-
支持 OData 的包现在实际上称为 ASP.NET 秋季更新,可以从这里下载:asp.net/vnext/overview/fall-2012-update
-
不幸的是,StackOverflow 的政策关闭了这样的问题。我相信这样的问题对开发人员来说非常重要,尽管它是关于使用哪个代码库的问题,而不是处理任何自定义代码的问题。
-
也许可以尝试将其移至programmers?看起来更合适。
-
@Josh,要理解的是,StackOverflow 的政策旨在为 Google 而非程序员创建问题。
标签: asp.net-mvc asp.net-web-api odata breeze