ASP.NET用中继器传输的数据量确实很高

问题描述 投票:0回答:2

我正忙于在ASP.NET 4.0中实现中继器以显示从数据库中获取的数据,我不是从建立分页开始的,所以在开始分配数据时就已经开始了。我填充了一个数据表,并将其绑定为我的中继器的数据源。

[我注意到以下情况,而页面正忙于加载4000条记录(至很多),传输了26mb。这是分配,所以我很好奇,实现者在每个循环中都显示相同的数据/ html(ofc这不是明智的解决方案加载时间)。加载页面时,这次传输了10.5 mb。

[为什么使用中继器传输了26 mb(禁用了viewstate的24字节),以及创建了具有10 mb循环的HTML时呢?无论如何,有没有优化中继器?我只实现了基础(创建itemtemplate,从数据库填充数据表并将其绑定到转发器)

asp.net repeater data-transfer
2个回答
0
投票

转发器将仅输出您告诉它的代码。因此,我将按照@Aristos在评论中所说的做,然后比较返回的标记。如果您可以在两种情况下都将第一条记录的标记发布,这将有助于我们回答您的问题。

您可能会看到的另一件事是,我经历了几次。特别是在Firefox中,如果您有一个空的javascript链接(如以下链接),则将检索页面的整个标记,而不是仅检索所有标记。现在,这可能只是Firebug加载项中的一个错误,但它可能解释了下载大小增加一倍的问题。尽管我不确定为什么这是由于使用中继器而没有看到一些代码引起的。值得牢记。

<script type="text/javascript" src="" ></script>

0
投票

我遇到了类似的问题。我的第一道防线是删除中继器模板中的所有空白区域。在具有1600次重复的中继器上,这将数据量减少了大约一半(3.7 MB到1.6MB)。由于操作非常简单(在Visual Studio中,编辑->高级->删除水平空白),因此值得做第一件事。

© www.soinside.com 2019 - 2024. All rights reserved.