【问题标题】:How to request and display real-time web api data in ASP.NET Core MVC?如何在 ASP.NET Core MVC 中请求和显示实时 Web api 数据?
【发布时间】:2022-01-09 09:05:44
【问题描述】:

我正在使用CoinGecko api 获取 ASP.NET Core MVC Web 应用程序中几种加密货币的实时价格数据。 CoinGecko 的价格数据每 1-10 分钟更新一次,所以我想大概每 5 分钟请求一次价格数据。我希望数据在客户端刷新,这样用户就不必刷新页面来查看最新数据。我希望这些数据显示在折线图中。

我想确保我在正确地思考这个问题,所以这是我目前的思考过程:

我可以使用SignalR在客户端和服务器之间创建一个开放的连接,这样客户端就不必刷新来获取coingecko api数据。我之所以选择 SignalR,是因为它会根据情况选择最佳传输技术,而我对 websocket、长轮询等知之甚少。

就显示这些数据而言,我决定使用Highcharts 库,因为它很容易学习。

所以本质上我的问题是,我如何以设定的时间间隔获取实时 Web api 数据并将其显示在图表中而无需刷新客户端?我的思维过程正确吗?

任何有用的见解或文章链接将不胜感激。我不太确定该怎么做,所以我想确保我没有浪费时间。

【问题讨论】:

    标签: c# api asp.net-core asp.net-core-mvc signalr


    【解决方案1】:

    您可以尝试创建预定的Background tasks with hosted services。然后,您还可以使用 Cronos 包和 Cron Expressions 来配置计划任务,并将 Cron 表达式设置为在特定日期范围内运行任务或每 5 分钟运行一次 Schedule Job。

    有关创建计划任务的更多详细信息,请参阅How can I execute a method every year using BackgroundService in ASP.NET core Application?

    然后,在任务中,你可以调用CoinGecko api获取最新数据,然后,inject an instance of IHubContext调用客户端方法将数据发送给客户端并显示出来。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-31
      • 1970-01-01
      • 2017-11-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-15
      • 1970-01-01
      • 2020-08-24
      相关资源
      最近更新 更多