【问题标题】:how to make requests with ajax faster (asp.net vs mvc)如何更快地使用 ajax 发出请求(asp.net vs mvc)
【发布时间】:2010-12-11 09:53:21
【问题描述】:

我发现很多网站在页面中的某些部分使用 ajax 的速度比我以前看到的 ajax 请求快得多

喜欢使用标签更改视图 当我单击一个选项卡时,它会比我在使用 Asp.Net 和 Ajax Control Toolkit 的 Web 应用程序中更改内容的速度非常快

而且在转发器或网格中的分页速度比我在我的网络应用程序中开发的要快

喜欢这个网站 http://www.filgoal.com/English/DefaultDynamic.aspx

所以我需要知道使用哪种技术来实现这一点 本网站使用.net 开发

但我需要知道 这是否需要另一种技术来学习(我可以从哪里学习)

还是只是 asp.net + ajax 或其他技术

是MVC吗

我也想知道 MVC 是否比 asp.net + ajax 更好 关注性能

提前致谢

【问题讨论】:

    标签: jquery ajax asp.net-mvc


    【解决方案1】:

    基本上有两种流行的技术:

    1. 使用 Microsoft AJAX 和 UpdatePanels 和 Ajax 控件工具包的经典 ASP.NET WebForms
    2. 带有 jquery 的 ASP.NET MVC

    两者都可以快速发出 AJAX 请求。不可能说哪个更好。这在很大程度上取决于您的需求。有些网站成功地使用了这些技术。您应该知道,如果您正确使用它们,您可以制作快速响应的网站。

    使用 ASP.NET MVC 和 jQuery,您可以完全控制 HTML 和 AJAX 请求/响应的内容,它比 UpdatePanels 更接近于金属,因为有一个 ViewState 要持久。

    制作响应式网站的一个重要方面是发送查询并仅发送需要在客户端显示的数据。例如,如果您的页面上有一些分页网格,您应该在数据库级别执行分页并仅发送当前显示在客户端上的记录。

    【讨论】:

    • 3.带有 jquery 的 ASP.NET WebForms。我们经常使用ajax,我们肯定不会使用ajax工具包,也不会使用MVC。
    • @ScottE,是的,有很多场景,我刚刚决定两个涵盖我的答案中最流行和最广泛使用的两个。
    【解决方案2】:

    这并不是 X 技术与 Y 技术的真正案例。各有千秋。

    一个经过良好调整的 JQuery + ASP.Net MVC 站点应该与任何 ASP.Net 站点一样工作。知道如何优化是最重要的。

    提示:

    • Google PageSpeed、Yahoo YSlow 和 Firebug 是必不可少的工具。
    • 仅在需要的地方使用 AJAX,否则在页面请求时使用。 调用服务器两次,当 信息可以获取一次(对于 相当微不足道的表现)是 通常是更糟糕的选择
    • 尝试使用 JQuery 1.4+,该版本经过优化,可在较新的浏览器中更快
    • 由于 David Robbins 已经发布了上述链接,我不会打扰,但这是对性能提升的绝佳洞察。

    问候, 杰米

    【讨论】:

      【解决方案3】:

      Dave Ward 的博客可以帮助解释 Ajax 的最佳实践并减少发送到服务器和从服务器发送的数据。请参阅我的 SO 回答 here。在某些情况下,您可以关闭视图状态并通过 PageMethods 获取数据。 Dave 的博客很好地了解了您可以做什么。

      【讨论】:

        【解决方案4】:

        我现在是包括 ASP.NET 在内的各种主题的 Microsoft 认证培训师,我一直听到像您这样的问题。 我可以根据我的经验告诉您,ASP.NET MVC 与 ASP.NET WebForms 非常不同,其中一个差异是您在 MVC 中对 HTML 呈现具有更大的控制权。这几乎可以控制如何显示网页的所有细节,也需要更多的细节来提供良好的外观,这与 WebForms 中发生的情况略有不同。为了能够更快地构建视图,实际上 AjaxControlToolkit 并不是最好的主意,我开始相信 WebForms 中的任何一个,尽管总会有人不这么认为。使用 AjaxControlToolkit,许多人使用 UpdatePanel,这也不是一个好主意,这允许您以简单的方式使用 Ajax,而不必弄脏您的双手,但会占用您本来可以拥有的功能。 您问得很好,首先要构建最高效的视图,您必须了解以下内容:

        • ASP.NET MVC(例如,如果您从未使用过 PHP,您几乎可以从零开始学习一种制作应用程序的新方法)
        • jQuery (一个 javascript 库,这是许多网站速度和多功能性的秘诀)。
        • jQuery 插件(jqgrid、jstree、spinner 等很多,手动控制,不用拖拽)
        • JSON(它是一种在应用程序和 javascript 或查询之间传递和接收数据的方式)
        • REST(是 SOAP 服务的替代品)

        希望对您有所帮助,如果您有更多问题,可以通过我的电子邮件与我联系

        【讨论】:

          【解决方案5】:

          我在询问类似的网站,但这些网站是使用 asp.net 开发的,但它具有非常快的 ajax 性能,所以我想知道使用哪种技术来实现类似的性能

          每当我通过 ajax updatepanel 和 ajax 控制工具包使用分页或标签时

          大约需要 10 到 30 秒,具体取决于数据和页面设计以及页面控件

          但是例如这个页面http://www.filgoal.com/English/DefaultDynamic.aspx

          无论数据大小,无论页面是否有很多控件,以及影响页面请求的任何其他因素,都具有非常快速的分页和分页响应

          而且这个页面有一个过滤下拉菜单,它的执行速度比我使用更新面板http://www.filgoal.com/English/AllNews.aspx?CatID=1实现的速度快

          这个页面是aspx页面,但我需要知道这样的网站是否需要

          1- asp.net 或 mvc 或者这在关于 ajax 性能的问题上没有区别

          2- 仅此 ajax 还是 ajax + 其他技术或根本没有 ajax(它是其他技术)

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2017-06-17
            • 2016-07-02
            • 2011-01-20
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-12-08
            相关资源
            最近更新 更多