我收到了许多"包含"过滤器,我已达到URL限制(超过2000个字符)。
我发现过这篇文章(OData Url Length Limitations),该解决方案是使用ODATA的$ batch功能。
有没有办法用微风来做到这一点?
答案 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技巧。我自己也不知道答案。我们都想向你学习。