【问题标题】:What is the ultimate ASP.NET Webforms Architecture什么是终极 ASP.NET Webforms 架构
【发布时间】:2011-09-28 14:11:12
【问题描述】:

我对大型数据输入应用程序的性能有非常严格的要求。您可以想象一个包含数百个字段、选项卡、模式弹出窗口和类似内容的表单。

问题是,什么是我可以实现的最好的 Ajax 架构以使其更快?

我正在考虑客户端上的轻量级 json 异步调用和服务器上的异步操作。我也在考虑在客户端上使用 HTML 模板,而不是在服务器上构建 html。

让我知道你的想法。

提前致谢。

【问题讨论】:

  • “快速”不是必需的。要求必须是 SMART(具体的、可衡量的、可实现的、相关的和有时限的)。那么最大响应时间到底应该是多少呢?系统将有多少并发用户?如果您确定用户数量会随着时间的推移而快速增长,请选择一种架构,让您可以轻松横向扩展(添加更多服务器),而无需纵向扩展(为单个服务器添加更多功能)。
  • 当我说快速时,我主要想到的是浏览器的渲染速度。该应用程序将被 200-300 个并发用户使用,并且不会快速增长,至少在第一年是这样。响应时间必须小于 2 秒。
  • 希望这些是我苛刻的要求:-/

标签: asp.net ajax architecture webforms


【解决方案1】:

我会使用 JQuery ajax 和 ASP.NET MVC 3 的组合。这两个组合提供了一种简单的方法来制作完全异步的应用程序,并且由于 MVC 的性质,您可以拥有 HTML 模板,其中大部分已经可以通过MVC3 模板。

【讨论】:

    【解决方案2】:

    使用AJAX-Enabled WCF Services、JQuery 和JQuery Templates 可以为您的用户提供良好的网络吞吐量性能和良好的用户体验。

    但这是有代价的。对于常规开发的 ASP.NET 应用程序来说,开发、调试和维护这样的应用程序是非常困难的。

    这是一个权衡,如果你问我,我建议你采用传统方式,对你的应用程序界面做一些改进,比如分割表格,实现一个保存-继续向导式的输入屏幕。您仍然可以使用 JQuery 来改善用户体验和缓存以提高应用程序性能。密切关注视图状态并在必要时使用 UpdatePanel 会有所帮助。

    【讨论】:

      【解决方案3】:

      好吧,我不想这么说.. 但你想要的是不可能的。你不可能有一个包含数以百计元素的表单,并且仍然让它表现良好。当然,“表现良好”是主观的。但在具有可变带宽的高延迟网络连接(如互联网)上获得良好性能的唯一方法是使用非常小的元素集。

      【讨论】:

      • 虽然他没有说它本身就是一个互联网应用程序。可能是这样,但很有可能它只在 LAN 环境中运行,在这种情况下,可变带宽问题就不会那么适用了。在我们公司,我们有一个巨大的数据输入网络应用程序,但它不是通过互联网访问的,而是通过局域网访问的。
      • 我明白你的意思,但要求非常严格,我无法更改。这就是为什么我在stackoverflow上问这个问题,所以让我们至少得到一个足够好的解决方案:)
      • 你还在求天空。您想移动一列数据货运列车,但您希望它像一级方程式赛车一样快。您说您有严格的要求,但鉴于您的具体要求,任何人都无法提供帮助。
      【解决方案4】:

      在服务器端回调中使用 jQuery 和 HTML 的组合作为客户端和 .net 方法。异步调用很好,但并不总是最好的选择,记住这一点。基本上,尽可能少使用服务器端组件,因为它会生成大量标记

      还有一些提高性能的技术,比如缓存。这可以在很多地方完成,例如在 .aspx 页面或网络服务器本身上。

      如果可以,请关闭视图状态。这会产生很多不必要的标记

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-11-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-01
        • 1970-01-01
        相关资源
        最近更新 更多