【问题标题】:Is It Performance Rich to use Web Services called via jquery ajax method in ASP.Net?在 ASP.Net 中使用通过 jquery ajax 方法调用的 Web 服务性能是否丰富?
【发布时间】:2011-03-23 20:35:45
【问题描述】:

我已经看到 ASP .Net 代码隐藏文件真的很慢。我使用了从 jquery ajax 函数调用的本地 Web 服务,它们速度很快。但我还是一头雾水?我应该显示来自代码隐藏或 Web 服务的动态数据吗?

我让我的 Web 服务返回一个 JSON 对象,并将该 JSON 对象中的相关元素分配给不同的 html 元素,例如(图像、div 等)

【问题讨论】:

  • 嗯,我很喜欢 Web 服务提供的解耦功能,如果您通过使用它们来提高性能,那就更好了。

标签: asp.net web-services performance


【解决方案1】:

你需要权衡几样东西..

如果您正在处理低流量的内部 Web 应用程序,那么服务器端回发可能是您的最佳选择。通常,您会发现在这种情况下您必须编写的代码更少。

如果您正在开发一个外部的、公共的、高流量的 Web 应用程序,也许 AJAX 是您的最佳选择。这样您就可以避免回发整个 ViewState 并在整个页面生命周期中运行。这可能会导致更多的前端代码,但 Web 服务器上的负载更少。

请记住,在 jQuery Templates 之类的帮助下,如今客户端数据绑定是一个非常可行的解决方案。这有助于将 AJAX 调用返回的数据绑定到表和其他元素。

就网络服务而言,它们非常适合您在不同系统之间共享数据/功能。如果您没有预见到对这个特定应用程序这样做,那么也许没有必要对其进行过度设计 - 使用支持开箱即用的 AJAX 调用的 MVC 和 Action 方法保持简单,或者熟悉PageMethods

我确定还有其他我没有提到的优点/缺点,但这是我首先想到的。

【讨论】:

    【解决方案2】:

    ASP.NET 经典生命周期和回发是 Microsoft Click&Go 理念的基础。即使它在大多数情况下都适用,但它的设计并不是为了快速。

    AJAX 加 Web 服务架构是提高服务器性能和动态性的好方法。它可能不会提高客户端性能,如果设计不当可能会增加网络负载并使网站架构复杂化。

    另一个可能的方向是 ASP.NET MVC,其中旧的生命周期和回发是 ancient history

    正如 Kon 所说,混合可能是目前最好的方式:MVC+AJAX 或 ASP.NET+AJAX,其中经典客户端服务器请求用于常见功能,AJAX 请求带来动态性,小请求友好功能.

    请注意,地球上的大多数用户都在使用 Internet Explorer,他们的 javascript 引擎是地球上最差的;)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-27
      相关资源
      最近更新 更多