c#缓存和异步请求
本文关键字:请求 异步 缓存 | 更新日期: 2023-09-27 18:17:37
在此方法中:
private async List<stuff> GetData()
{
return await _appCache.GetAsync("SiteStructurePages",
() => _repository.GetSomeStuff());
}
是否有任何理由保持异步?我的代码将以异步方式执行一次,所有后续请求将使用缓存。异步扩展到我的应用程序的其他部分,这不会影响数据库,因为很多东西被缓存。
编辑:我的应用是IIS网站应用
是否有任何理由保持异步?
那真的取决于你。如果您确实需要利用异步操作,即能够扩展,那么请保留它。否则,如果您不这样做,请使用同步API。这完全取决于你和你在代码库中实际使用什么。
我理解你担心异步方法会"一路走下去",实际上会改变你的整个代码库,使之成为异步的事实。这就是为什么只要值得,你就应该去做。
旁注-您可以稍微修改代码以节省异步状态机的生成:
private Task<List<stuff>> GetData()
{
return _appCache.GetAsync("SiteStructurePages",
() => _repository.GetSomeStuff());
}
如果你能确保调用是快速的,它不会阻塞一个UI线程,那么当然,你不需要Async在这个
但是,如果这些事情不在您的控制范围内,那么我会让它保持异步。