Как передать данные обратно в основной поток пользовательского интерфейса - PullRequest
0 голосов
/ 24 октября 2019

Я использую конфлюентную кафку для приема сообщений, это происходит в отдельном потоке, теперь я хочу отправлять полученные сообщения в мой основной поток для обновления пользовательского интерфейса. (Я не использую WPF или winforms). Но я понятия не имею, как это сделать.

1 Ответ

0 голосов
/ 24 октября 2019

https://docs.microsoft.com/en-us/dotnet/api/system.componentmodel.backgroundworker?view=netframework-4.8

Использовать .Net BackgroundWorker API

создать так:

bw = new BackgroundWorker();
bw.WorkerReportsProgress = true;
bw.WorkerSupportsCancellation = true;
bw.DoWork += new DoWorkEventHandler(bw_DoWork);
bw.ProgressChanged += new ProgressChangedEventHandler(bw_ProgressChanged);
bw.RunWorkerCompleted += new RunWorkerCompletedEventHandler(bw_RunWorkerCompleted);

 private void bw_DoWork(object sender, DoWorkEventArgs e)
 {
    //todo in background thread
 }

private void bw_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
    //todo on the user interface thread
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...