是否可以读取 API 数据,我在控制器中编写了以下 Csharp 代码,但有时数据需要 2 分钟以上,我想知道是否可以在数据到来时将其加载到我的网站中,而不是直接加载等待它。以下是我当前的代码:
private static async Task<List<Model>> GetFlightData()
{
using (var client = new HttpClient())
{
client.Timeout = TimeSpan.FromMilliseconds(Timeout.Infinite);
var content = await client.GetStringAsync(URL);
var result = JsonConvert.DeserializeObject<List<Model>>(content);
return result;
}
}
最快的方法是静态保存数据并在启动时初始化, 这个解决方案的问题是,当没有流量时,IIS 可能会重新启动您的网站,并且数据将会丢失(并且会导致下一个访问者等待整整 2 分钟)。
我最好的建议是将其保存到 redis/您选择的其他缓存中,然后从那里提取它。