【问题标题】:How to improve ASP.NET web application performance?如何提高 ASP.NET Web 应用程序的性能?
【发布时间】:2015-04-16 11:14:20
【问题描述】:

更具体地说...当有人单击我的 Web 应用程序上的链接时,是否可以在单击后立即重定向该用户,然后等待页面(用户控件)加载。 (用户控件可以按优先级一一加载吗?)

知道,用户点击链接然后被重定向后会有延迟。

【问题讨论】:

  • 如果链接和重定向之间确实存在延迟(我假设“被带到链接指向的位置”),那么就有问题了。当然,页面不会立即出现,但重定向应该立即发生。那么您的意思是“页面加载缓慢”还是“有人点击链接,暂时没有任何反应,然后浏览器才开始加载”?

标签: asp.net vb.net performance


【解决方案1】:

你可以做的事情:

  • 如果您不小心,请检查您是如何使用 ViewState 的 挺大。但是您的应用程序的某些部分可能依赖于它,所以 这是一种情境。
  • 缓存页面或仅缓存控件
  • AJAX - 虽然感觉不像在 MVC 中那么自然,但它仍然是一种选择 用于 Web 表单
  • 脚本和 Css 捆绑和缩小 - 更少的请求 获取更多数据总是比针对更少数据的更多请求更快

这些是我要开始的事情。根据我的经验,过度的 ViewState 是您可以获得最大收益的地方,但通常需要相当多的努力才能摆脱它,因为仅将其关闭可能会使您的某些控件在回发时无法正常工作。

这只是一个开始,但更深入需要更深入的应用知识。

【讨论】:

    【解决方案2】:

    您可以使用 AJAX 技术来创建应用程序所需的响应能力。

    实际上,您只需要一页。您可以使用 AJAX 加载执行的所有操作(以及更新的 HTML/JS)。

    我建议阅读该主题。您可以使用 jQuery 或类似的框架与 Web 服务器进行通信。

    必读:ASP.NET AJAX

    【讨论】:

      【解决方案3】:

      我的建议是尝试使用AJAX 方法重做您的应用程序: 这是一篇关于它的聪明文章http://www.asp.net/mvc/overview/older-versions-1/nerddinner/use-ajax-to-deliver-dynamic-updates

      看看AJAX技术:http://en.wikipedia.org/wiki/Ajax_(programming)

      【讨论】:

        【解决方案4】:

        据我了解,您使用的是经典的 Asp.NET,因此使用的是网络表单。

        加快速度的一种方法是切换到 Razor 平台,这会稍微简化一些事情(通过防止不必要的回发)。

        或者,如果您不想重新制作整个应用程序,您可以使用简单的 html 链接而不是 asp:hyperlink

        【讨论】:

        • 您只是为了使用 ASP.NET MVC 和 Razor 而抛弃整个 ASP.NET Web 窗体?如何处理所有已使用的用户控件?
        • 这就是为什么我还提供了一个替代方案,它不需要扔掉所有已经完成的东西。如果它不是一个成熟的应用程序(已经编写的用户控件和页面不多),那么更改平台将是我的第一选择。
        • 但是仅仅将一个服务器控件更改为一个 HTML 元素并没有任何帮助。渲染 asp:Hyperlinka href= 的性能是没有的。
        • 点击asp:hyperlink会触发回发事件,从而在点击动作和实际重定向之间产生延迟。
        • <asp:HyperLink runat="server" NavigateUrl="http://www.google.com" Text="link here" /> 呈现为 <a href="http://www.google.com">link here</a>。没有回发。
        猜你喜欢
        • 2011-08-02
        • 1970-01-01
        • 1970-01-01
        • 2010-11-12
        • 2011-02-09
        • 1970-01-01
        • 2021-02-22
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多