2012-04-25 46 views
2

大家好我正在使用vs2008 c#asp.net。我在我的项目中包含许多网格视图列表视图和文本框以及图像上传控件。所有的控件都来自vs2008的标准工具包。我想知道改善我的项目的页面加载时间的可能方法。我听说过视图压缩。还有其他建议吗?请帮忙。由于如何提高asp.net网站的页面加载时间?

+0

@Russ凸轮可以请你告诉什么是atlest通用的技术名称..像viewstate压缩? – 2012-04-25 14:19:15

+0

尝试使用**中继器**而不是** gridview **这是更快。也看看这个问题,这可能会给你一些想法** http://programmers.stackexchange.com/questions/84790/how-to-increase-the-speed-of-the-page-loading-in-asp -净** – 2012-04-25 14:21:53

回答

1

你应该做的第一件事是衡量目前的状态,有很多工具可以帮助您完成此任务:

  • Google page speed
  • YSlow
  • Web page test
  • Pingdom tools
  • Fiddler 2
  • ViewState Size - Firefox分机。
  • ViewState viewer - Firefox ext。你需要测量

    • 是什么时候第一个字节,或需要为服务器生成页面的时间

    的东西,它应该是小于0.5秒。如果此时间更长,则使用Visual Studio Profiler查找瓶颈并优化关键部分

  • 测量视图状态大小并分析内容,因为您正在使用大量gridview,这可能是问题,因此在SO上有几十个posts有关这个问题
  • 了解 ViewState中,以及它是如何工作的,优秀的后here
  • 你应该减少请求的数量,在一个文件合并CSS和JavaScript,还有很多free tools to do that
  • 打开IIS的gzip压缩
  • 使用Fiddler来看看如何在您的请求本地缓存
  • 使用Css Image Sprites的小图像
  • 使用asp.net缓存,这真的很好,它的情况下,对于很多使用场景提供了解决方案,特别是有帮助的,其中增加的流量是问题
-1
  • ViewState的模式可能会即使您正在使用重物控制设置为false

,他们可能不需要有Vie的wState“启用”。所以,试图找出当你实际上并不需要他们,他们每个人的ViewStateMode属性设置为false:

ViewStateMode="Disabled" 

这将减少ViewState中的尺寸,使性能得以提高

  • gzip压缩

按照此tutorial你可以设置ViewState的压缩,以减少其规模并提高网站性能

  • 监控您的ViewState大小

通过使用该Mozilla add-on,您可以监控的ViewState的大小,看是否是网站的缓慢的真正原因,因为这也可能与SQL查询或其他与ViewState不同的原因

1

首先关注优化服务器端。如果您有“多个网格视图”,则取决于它们的来源(例如数据库),您可以尝试改进数据访问的处理。搜索适合您的应用程序的适当优化技术。

你也可以尝试减少网格的数量。由于要求,这可能不是一种可能的选择。

你也可以看看moving your ViewState from the top of the page to the bottom,与其他标准的客户端优化(减少资源的调用,在文件头的地方CSS数一起,在文件结尾的脚本,使客户端缓存等。 )。

1

ViewState的分块

作为替代压缩,可以考虑分块ViewState中,它基本上将ViewState的跨越几个隐藏字段,而不是只有一个。这可以在整体页面性能方面产生适度的改善。

看看这篇文章:Large ViewState & ViewState Chunking

替代存储

也有,你可以存储比页面上的隐藏字段等的ViewState信息的几个其他的方式。

看看这篇文章:Manage ViewState Using ASP.NET 2.0 Provider Architecture

ViewState的压缩

就个人而言,我发现压缩ViewState网在性能方面最大的收益,因此,如果它是一个可能性,我肯定会探索它。 Telerik的RadCompression模块工作很好,但它不是免费的。尽管如此,你也可以自己实现它。

检查出的ViewState压缩这些文章:

最后,无论你并不需要跟踪ViewState中,设置EnableViewState为false。