public void SyncWithServer(AfterSyncProfilesRoutine afterSyncProfilesRoutine) { //запоминаем что нам надо вызвать после того как будет выполнена синхронизация результатов измерений this.FAfterSyncProfilesRoutine = afterSyncProfilesRoutine; //последовательно синхронизируем данные: сначала вызываем синхронизацию результатов измерений, которая после своего исполнения вызовет синхронизацию профилей _syncService.SyncResults(AfterSyncResultsHandler); }
public void SyncProfiles(AfterSyncProfilesRoutine afterSyncProfilesRoutine) { //синхронизация профилей выполняется продолжительное время, поэтому чтобы не получить ContextSwitchDeadlock выполняем её в отдельном потоке LongTimeRoutineWorker Worker = new LongTimeRoutineWorker(SyncProfilesWorkerHandler, SyncProfilesCompletedHandler); //запоминаем что нам надо вызвать когда LongTimeRoutineWorker закончит свою работу this.FAfterSyncProfilesRoutine = afterSyncProfilesRoutine; //стартуем фоновый поток, нужды во входных параметрах нет - поэтому будем передавать null Worker.Run(null); }