我正在为ASP.Net MVC使用Telerik UI,我想知道如何将我的模型转换为CSV文本并将其绑定到Kendo网格,它将比JSON更轻,同时将数据传输到客户端。
答案 0 :(得分:1)
我理解你的担忧,我实际上是在我的项目上做同样的事情,试图优化发送回客户端的JSON中的额外字节。
转过这样的话:
{
status: true,
data: [
{ name: 'aaa', lastName: 'ln1', identifier: 124343 },
{ name: 'bbb', lastName: 'ln2', identifier: 887875 },
{ name: 'ccc', lastName: 'ln3', identifier: 445455 }
]
}
进入这个:
{
s: 1,
d: [
{ n: 'aaa', l: 'ln1', i: 124343 },
{ n: 'bbb', l: 'ln2', i: 887875 },
{ n: 'ccc', l: 'ln3', i: 445455 }
]
}
通过调整JSON消息并调整我的客户端代码(翻译:开销),我节省了10%的可耻。
在对我的HTTP流量进行一些分析后,我意识到浏览器支持GZIP压缩,任何像样的浏览器的请求头包括“Accept-Encoding:gzip,deflate”但不知何故我的服务器完全忽略了这个东西,因为没有回复标题说“Content-Encoding:gzip”。
您可以通过检查请求和响应标头来验证这一点,请参阅图片。
因此,在我强制服务器使用GZIP压缩对内容进行编码后,如果客户端支持它,则网络节省降低到80%的大小。
GZIP压缩是: - 在服务器上快速 - 方便客户 - 您可以选择是否激活它(让我们说在您知道将返回大量项目的响应中使用它) - 重复文本内容的好处(因为它使用字典方法)
相信我,不要担心JSON的外观,使用GZIP。之后我不得不恢复所有的开销代码。