Сохраните данные и отправьте при следующем запуске
Вызов службы при выходе - сложная функция, независимо от того, на какой платформе вы находитесь. Вы не можете гарантировать, что это произойдет, потому что ваш процесс может завершиться до того, как ваш вызов будет выполнен по ряду причин (диспетчер задач, logff, завершение работы, синий экран и т. Д.). Если вы пишете важные данные, например последнюю запись в серии, вы открываете себя в лучшем случае для неполных наборов данных, а в худшем - для поврежденных данных.
Лучше, если все ваши серверные коммуникации выполняются в виде единовременных транзакций. Если данные, которые вы отправляете при выходе, предназначены для ведения журналов или для метрик (например, как долго приложение запускалось, сколько раз вызывалось «foo»), лучшим вариантом будет непрерывное сохранение ваших данных на диск, а затем выполнять вычисления отправьте данные при следующем запуске приложения.