Периодическое выполнение функции после завершения функции

Я строю приложение для магазина Windows, используя C # и XAML. Мне нужно обновить данные через определенный промежуток времени (принести новые данные с сервера). Я использовал ThreadPoolTimer, чтобы периодически выполнять мою функцию обновления следующим образом:

   TimeSpan period = TimeSpan.FromMinutes(15); 
   ThreadPoolTimer PeriodicTimer =  ThreadPoolTimer.CreatePeriodicTimer(async(source)=> {  
   n++; 
   Debug.WriteLine("hello" + n);
   await dp.RefreshAsync(); //Function to refresh the data
   await Dispatcher.RunAsync(CoreDispatcherPriority.High,
                () =>
                {
                    bv.Text = "timer thread" + n;

                });

        }, period);

Это работает правильно. Единственная проблема заключается в том, что если функция обновления не завершится до того, как ее следующий экземпляр будет отправлен в пул потоков. Есть ли способ указать разрыв между его выполнением.

Шаг 1: выполняется функция обновления (занимает любое количество времени)

Шаг 2: функция Refresh завершает свое выполнение

Шаг 3: Разрыв в течение 15 минут, затем перейдите к шагу 1

Функция обновления выполняется. Через 15 минут после его выполнения он выполняется снова.

Ответы на вопрос(2)

Ваш ответ на вопрос