是否有任何方法可以减少breeze.js的有效负载大小,或者我不必担心它?

是否有任何方法可以减少breeze.js的有效负载大小,或者我不必担心它?,breeze,Breeze,使用Breeze.js作为客户端,使用BreezeController作为服务器,它生成的负载大小对我来说似乎效率低下。例如,当通过以下方式对3个属性进行简单分页投影时: .select("Property1, Property2, Property3") 每个记录的类型如下所示: "$type":"_IB_eTB9_dNYb7IWzNREO3W5Uer5DOQ8[[System.String, mscorlib],[System.String, mscorlib],[System.Strin

使用Breeze.js作为客户端,使用BreezeController作为服务器,它生成的负载大小对我来说似乎效率低下。例如,当通过以下方式对3个属性进行简单分页投影时:

.select("Property1, Property2, Property3")
每个记录的类型如下所示:

"$type":"_IB_eTB9_dNYb7IWzNREO3W5Uer5DOQ8[[System.String, mscorlib],[System.String, mscorlib],[System.String, mscorlib]]
很明显,我在投影中包含的属性越多,这个时间就越长,在很多情况下,类型定义比实际数据长得多,并且对每一行重复


我是不是什么都不担心,还是有什么办法可以减少这种情况?

回答我自己的问题,我想说我不应该担心这个问题,它可能也适用于更一般的在线元数据问题


假设我们打开gzip压缩,我的测试表明所有无关的元数据对最终压缩负载的大小影响很小,我想这并不奇怪

为了回答我自己的问题,我想说我不必担心这一点,它可能也适用于更一般的在线元数据


假设我们打开gzip压缩,我的测试表明所有无关的元数据对最终压缩负载的大小影响很小,我想这并不奇怪

这是一个有趣的问题。当您使用select语句而不是实体请求projections查询时,这实际上是一个更大的问题,因为至少对于.NET服务器来说,匿名类型的json序列化有点难看。看一看没有select的查询的结果,您会发现有效负载更加合理


也就是说,我们应该可以修改默认的json.net格式化程序来简化匿名类型信息的序列化,特别是因为一旦客户机意识到它与任何已知类型都不匹配,我们基本上会忽略它。如果您对此感兴趣,请将其添加到列表中。我们确实关注这些特性请求

这是一个有趣的问题。当您使用select语句而不是实体请求projections查询时,这实际上是一个更大的问题,因为至少对于.NET服务器来说,匿名类型的json序列化有点难看。看一看没有select的查询的结果,您会发现有效负载更加合理


也就是说,我们应该可以修改默认的json.net格式化程序来简化匿名类型信息的序列化,特别是因为一旦客户机意识到它与任何已知类型都不匹配,我们基本上会忽略它。如果您对此感兴趣,请将其添加到列表中。我们确实关注这些特性请求

谢谢Jay,我将考虑将其添加到用户语音中,因为这听起来不错:谢谢Jay,我将考虑将其添加到用户语音中,因为这听起来不错:虽然由于压缩,这不是什么大问题,但他们通过自定义序列化解决了这一问题。虽然由于压缩的原因,这不是什么大问题,但他们已经通过自定义序列化解决了这一问题。