breezeJs:ODATA Url限制

时间:2015-02-06 12:06:45

标签: odata breeze

我收到了许多"包含"过滤器,我已达到URL限制(超过2000个字符)。

我发现过这篇文章(OData Url Length Limitations),该解决方案是使用ODATA的$ batch功能。

有没有办法用微风来做到这一点?

2 个答案:

答案 0 :(得分:1)

如果您愿意稍微回避OData,请使用withParameters功能将过滤器参数传递给服务器方法。然后,您可以以比OData使用的更紧凑的表示形式发送参数。请注意second example in docs,其中数组作为参数传递。

如果它仍然太大,那么您可以使用ajaxpost adapter,它允许您使用POST发送查询参数。然后天空是极限。

答案 1 :(得分:0)

我打算编写一个Breeze DataServiceAdapter ,它继承自您当前{0}的'OData'适配器。

您会覆盖其executeQuery方法,并在网址过大时执行适当的操作。

using as described here只有22行,所以不应该令人生畏。

但是,您会注意到此适配器委托给 datajs 。这意味着您必须弄清楚 datajs 提供哪些工具来执行您描述的$ batch技巧。我自己也不知道答案。我们都想向你学习。