private void _checkForConnectionToServerWorker_DoWork(object sender, DoWorkEventArgs e) { try { //Connect to server _server = new ServerData(true); //InitializeRabbitMq _server.GetSms("StudentAdded"); //Initialize GetTeacherWorker _getTeachersByTeacherName.DoWork += _getTeachersByTeacherName_DoWork; _getTeachersByTeacherName.WorkerSupportsCancellation = true; //initialize big data worker getter _getBigDataFromServer.DoWork += _getBigDataFromServer_DoWork; _getBigDataFromServer.WorkerSupportsCancellation = true; _getBigDataFromServer.RunWorkerCompleted += _getBigDataFromServer_RunWorkerCompleted; _getBigDataFromServer.RunWorkerAsync(); } catch (Exception ex) { ErrorOrSuccessTextBlock.Dispatcher.InvokeAsync(() => { ErrorOrSuccessTextBlock.Text += ex; }); _progressBarWorker.CancelAsync(); } }