vb.net - VB.Net 如何在等待外部 Web 服务数据加载时释放 UI
问题描述
我正在使用 VB.net Visual Studio 2019。我们有设计器表单来处理 UI。不确定这个术语。
这是当前正在发生的场景:
1) 我们有一个 web 服务,它在进入某个屏幕时被调用,其中包含一个 DataGridView 网格框。
2)对于加载时此datagridview中的每一行,我们正在调用第三方Web服务,因为它提供与我们需要填充的单行相关的信息。
3)这会导致应用程序在进入具有 300+ 行等的屏幕时挂起大约 3 分钟,因为它会在数据填充和屏幕完全加载之前循环并调用 300+ 次。
这是我想象在理想情况下发生的事情
我们快速加载包含 300 多个项目的屏幕,将它们留空。然后随着时间的推移,它们要么在检索到时开始填写,要么等待 3 分钟以上,然后在全部检索到后一次全部填写。在保留 UI 功能的同时,如果退出该屏幕,它将取消。
有没有办法实现它?
这是我到目前为止所调查的:
等待和异步。我搞砸了,并对其进行了测试,但无法提高速度。每当它必须通过这 300 个电话时,它仍然会锁定。
使用了这个例子:https ://visualstudiomagazine.com/blogs/tool-tracker/2018/07/create-async-method.aspx
实现Task.FromResult,编译并运行,但似乎没有做任何事情。
- 阅读有关 task.run 的信息,我是否需要进一步研究?
? 要求第三方提供一个选项网络服务,该服务接受一个列表,并一次将一个列表发回。如果可以避免,我宁愿不这样做。
有人有什么建议吗?欣赏它。谢谢你。
请让我知道更多详情。
解决方案
推荐阅读
- python-3.x - 有没有办法使用 random.choice?
- c - 如何使用 OpenMP 并行化 C 中的反依赖循环?
- ios - Stripe didCreateToken 方法未调用
- laravel - 在 Laravel 中移动文件之前的 getMimeType()
- flutter - 将库导入 Flutter 时出现问题
- regex - 正则表达式 - 检查直到字符串末尾没有任何字符的特殊标记
- django - Django Messages - 给所有/特定用户的消息
- arrays - 在 React Native 中显示数据数组中的值
- python - 将 GeoPandas 多面体数据框扩展为每行一个多边形
- python - 遇到 TypeError:预期的字符串或类似字节的对象