Сколько времени уйдет на процесс - Служба WCF
На этот раз я здесь с другим вопросом.
У меня есть приложение, которое строит для перемещения данных из одной базы данных в другую. Это также имеет дело с проверкой и сравнением между базами данных. Когда мы начинаем перемещать данные из источника в место назначения, это занимает некоторое время, так как всегда имеет дело с тысячами записей. Мы используем сервис WCF и сервер SQL на стороне сервера и WPF на стороне клиента, чтобы справиться с этим.
Теперь у меня есть требование уведомить пользователя о времени, которое он собирается взять, основываясь на исходной базе данных no: records (в конечном итоге это то, что я собираюсь создать в целевой базе данных) непосредственно перед тем, как пользователь начнет этот процесс перемещения.
Теперь мой реальный вопрос, как лучше всего это сделать и получить от этого приблизительное время?
Спасибо и оценил вашу помощь.
1 ответ
Если ваши оценки будут обновляться в процессе загрузки, вы можете взять уже затраченное время, удалить количество обработанных записей и умножить на количество оставшихся записей. Это даст вам обновление среднего оставшегося времени:
TimeSpan spent = DateTime.Now - startTime;
TimeSpan remaining = (spent / numberOfProcessedRecords) * numberOfRemainingRecords;