移动应用应如何与Web API交互?

时间:2020-10-15 05:34:23

标签: api flutter asp.net-core asp.net-core-webapi

我正在开发一个Flutter项目,该项目从.net核心Web API获取数据。它工作正常,但是每次我加载屏幕或在应用程序中的选项卡之间切换时,它都会从API获取数据(内容和图片),尽管我估计我的数据通常每周更新一次或两次。我想知道在这种情况下最好的性能解决方案。

如果我知道别人在这方面的意见或经验,我将很高兴。 谢谢。

1 个答案:

答案 0 :(得分:1)

它工作正常,但是每次我加载屏幕或在选项卡之间切换时 在应用程序中,尽管我从API获取数据(内容和图片) 估计我的数据通常每周更新一次或两次。一世 想知道在这种情况下最好的性能解决方案。

尝试使用F12开发人员工具“性能”面板检查网站的哪些部分需要改善性能。然后,根据结果做点事情。

由于数据是一些内容和图片,因此您可以考虑使用以下技巧来提高网站性能:

  1. 避免同步并使用异步

    在开发ASP.NET Core 3.0应用程序时,请尝试避免同步调用。同步调用将阻止下一次执行,直到当前执行完成为止。从API提取数据或执行类似I / O操作或独立调用的操作时,请以异步方式执行调用。避免使用Task.Wait和Task.Result,并尝试使用await。

  2. 优化数据访问权限

    大多数应用程序完全依赖于数据库。他们必须从数据库中获取数据,处理数据,然后显示它。如果很耗时,则应用程序将花费更多时间来加载。

    建议:

    • 异步调用所有数据访问API。
    • 不要尝试获取不需要的数据。
    • 在出于只读目的访问数据时,尝试在Entity Framework Core中使用无跟踪查询。
    • 使用过滤器和聚合LINQ查询(带有.Where,.Select或.Sum语句),以便数据库可以执行过滤。
  3. 使用缓存技术

    通过减少对服务器的请求数量来提高应用程序的性能。避免每次都调用服务器并缓存数据。存储将来的响应,并在下次致电相同响应时使用。

    参考:Response caching in ASP.NET Coreuse Response Caching Middleware

  4. 减少HTTP请求并使用响应压缩

  5. 客户端改进

    客户端优化是提高性能的重要方面,请考虑以下技巧:

参考:ASP.NET Core Performance Best Practices