c# - 哪个异步调用用于数据库连接和仍然响应的 GUI?--

标签 c# multithreading asynchronous

我的应用程序连接到 MySQL,但有时需要一段时间并且 GUI 被卡住。我想在另一个线程上进行连接,我想 BeginInvoke 是最好的方法(我知道后台 worker ,但我想学习这个)。我研究了 MSDN 页面,但我不明白什么是最好的使用方法? 他们还说,当调用 async.method 的线程不需要知道结果时,您只能使用回调......我不明白,因为我相信我可以在另一个线程中设置一些变量来“传递”结果出色地。 我只需要在建立连接时不卡住 GUI。感谢您的建议。

最佳答案

到目前为止,处理它的最简单方法是使用 BackgoundWorker。它专门设计用于处理大多数线程问题,例如从后台线程到 GUI 线程的编码进度事件和完成通知。我已将它用于 WinForms 和 WPF,并取得了巨大成功。

我知道很多其他方法可以做到这一点,但我都需要尝试两三次才能正确。

关于c# - 哪个异步调用用于数据库连接和仍然响应的 GUI?--,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2843032/

相关文章:

c# - Blazor:在此之前的操作完成之前,在此上下文中开始了第二次操作

java - 生产者消费者多线程为什么需要Thread.sleep?

异步任务中的 C# 更改标签文本

javascript - 是否可以限制 Node 中的异步任务?

javascript - 异步执行函数的返回值

c# - 如何使用 MySql 和 Umbraco 4.7.1 为波斯尼亚语(或克罗地亚语或斯洛文尼亚语)字符集设置编码

c# - 如何避免在 C# 类之前编写命名空间

c# - 我是否需要锁定以 ReadOnlyCollection 作为参数的并发方法?

c# - float 组重采样

multithreading - Web API 是否支持多线程?