我正在asp.net中开发一个将发送给大量用户的简报,所以我可以减少的每千字节将对带宽消耗的使用有很大的帮助,直到我知道写的是aspx排除标记之间的一些空格,在渲染之前,我已将一些控件ID重命名为“ - ”以节省更多空间。 所以现在,该文件有50kb。我需要一个25 Kb的文件。
任何人都可以教我任何其他方式来节省更多空间吗?
ps。:我使用3个div和一些数据,2个中继,一个在另一个内,为我生成一个包含一些数据的表。
编辑:我已禁用了viewstate,并删除了不必要的div,我将尝试验证是否在IIS中启用了gzip。
提前致谢
答案 0 :(得分:5)
确保已启用HTTP压缩。它将有助于减少HTML的数量,但启用HTTP压缩将提供的不仅仅是您可能会看到的边际改进。
根据您的IIS版本,有多种方法可以启用压缩。例如,在IIS 6.0中,您可以手动编辑metabase.xml或运行:
cscript adsutil.vbs set w3svc/filters/compression/parameters/HcDoDynamicCompression true
您可以检查HTTP标头,以验证是否使用类似https://addons.mozilla.org/en-US/firefox/addon/3829/ Live HTTP Headers的Firefox启用了压缩功能。检查标题“Content-Encoding:gzip”。
答案 1 :(得分:4)
如果您想要完全控制,请不要使用aspx页面。创建一个通用处理程序,然后您可以完全控制生成的每个字节。
不是使用Repeater,而是循环遍历数据集并输出表格或跨度等。虽然,我不得不说,中继器也很容易控制输出的精确度。
查看您生成的html,看看是否可以识别出任何明显的罪魁祸首。
答案 2 :(得分:2)
如果您使用的话,可以禁用视图状态并优化图像文件。
答案 3 :(得分:1)
如果您使用ASP.Net Web表单,我建议您阅读本文 - 解释如何正确使用ViewState:
http://weblogs.asp.net/infinitiesloop/archive/2006/08/03/Truly-Understanding-Viewstate.aspx
答案 4 :(得分:1)
您可能希望查看IIS压缩(它使用gzip IIRC)。这应该会降低文件大小。
同时缩小javascript / css(我已经完成了这项工作,并且看到js / css文件大小减少了40%),这里有一个书籍/网站的链接,可以讨论你可以做的其他事情:{{3本书的标题是“高性能网站”,ISBN:978-0-596-52930-7
答案 5 :(得分:1)
它可能无法节省大量成本,但您也可以通过认真考虑是否在直接样式化内容时使用DIV进行样式设置来减少标记。
例如,
<div class="sidebar">
<ul>
<li>Lorem</li>
</ul>
</div>
在大多数情况下,您可以直接在UL样式中获得相同的结果:
<ul class="sidebar">
<li>Lorem</li>
</ul>
但在你的情况下,中继器可能是臃肿的主要来源。确保您使用干净的HTML为他们使用自定义模板,而不是依赖于开箱即用的渲染,这可能非常混乱。
就像其他人发布的一样,关闭viewstate以获取你不需要它的任何控件 - 这只是垃圾的TON。