【问题标题】:Coding Performance Enhancement for ASP.NETASP.NET 的编码性能增强
【发布时间】:2011-03-16 07:42:54
【问题描述】:

最近我遇到了一个需要大量改进的项目。所以我开始在网上搜索一些可以提高这个网络应用程序加载速度的技术。

过了一会儿,我发现了一些技巧,但它们只给了我几秒钟的提升。

所以,亲爱的合作程序员,请填写您知道的任何编码/增强技术。

我将从一些更明显的开始:

  1. 不要使用超过 3 级的嵌套循环。
  2. 在 ASP 中禁用不需要它的控件的视图状态(例如:标签、div、通常具有静态值的控件)。 (这样做的主要原因是视图状态是控件的加密和散列值,因此任何不需要视图状态的控件只会通过对其值执行加密和散列来减慢您的应用程序)

感谢您的帮助,并最终帮助像我这样的其他初级开发快速应用程序。

编辑:我也在 Visual Studio 杂志上找到了这个: http://visualstudiomagazine.com/articles/2005/11/01/optimize-aspnet-performance.aspx

【问题讨论】:

  • 这里没有一个明确的答案,我建议你把它做成社区维基,否则我敢打赌,在你说“鲁滨逊漂流记”之前,这将被关闭
  • 最好的优化可能会通过改进设计来实现。 downloads.gamedev.net/pdf/gpbb/gpbb1.pdf
  • 嗯,我在回答中已经说明了几点,请看stackoverflow.com/questions/1340218/…
  • @rippo 感谢您的通知!从我在那本书中读到的内容中不知道 wiki @mrfox 主要关注低级应用程序,汇编类型的思维,在 .NET 中你必须考虑与 asm 稍有不同.但无论如何,好书,值得一看!

标签: c# asp.net performance


【解决方案1】:

【讨论】:

    【解决方案2】:

    假设您使用的是数据库,可以产生最大影响的最佳优化工作是在数据库级别。检查您的索引、关系和查询。并且不要查询你不需要的信息。

    ASP.NET 开发人员通常会遇到的其他陷阱是使用 ADO.NET 的嵌入式分页支持。应使用自定义分页,如 here 所示。

    避免在 Session 和 ViewState 中存储大对象。

    另外,由于您正在构建一个网站,您应该确保客户端文件不会像 Ramesh Vel 建议的那样对用户造成负担。不要在您的网站上放置具有打印质量的图像,并避免使用繁重的 HTML 页面。还可以尝试优化您的 CSS 文件,例如将相似的类组合在一起,并使用类继承

    【讨论】:

    • 我个人认为将一些负载留给客户端机器是个好主意,因为服务器可能有很多请求,因此一些负载需要由客户端而不是服务器来处理,但不要过度这样做
    • 我觉得你说的不太准确。客户端逻辑和服务器逻辑是两个完全不同的部分,它们通常不会分担用户的压力。基本场景如下:用户请求一个页面,服务器执行请求,页面返回给客户端。事实上,将负载放在客户端会增加服务器的负载并降低用户友好性。例如,如果您放置的图片尺寸很大,客户端将不得不等待更长的时间来下载它们,并且 Web 服务器将不得不做更多的工作来传递文件。
    • 没错,但我指的是把一些服务器端代码变成客户端代码。例如,如果我有 2 个下拉菜单,这两个下拉菜单都由服务器在第一次初始化时完全加载,通过从第一个中选择一个值,第二个应该过滤掉不相关的数据。这可以使用客户端脚本来完成,从而减少到服务器的往返次数。
    【解决方案3】:

    除了 ASP.Net 优化之外,您还应该考虑其他(客户端、IIS 级别)的改进

    查看以下链接

    Yahoo Best Practices for Speeding Up Your Web Site

    【讨论】:

      猜你喜欢
      • 2012-04-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-22
      • 1970-01-01
      • 2018-01-31
      • 1970-01-01
      相关资源
      最近更新 更多