Скорее всего, возникает необработанное исключение, что приведет к остановке процесса. Если вы хотите, чтобы служба продолжала работать, когда возникают прерывистые проблемы, вам необходимо поймать и обработать / обработать исключение:
void Run() {
while (serviceIsRunning)
{
try {
Image image = Camera.CaptureImage();
CallRestAPI(image);
Thread.Sleep( (int) (1000 / framesPerSecond) );
}
catch (Exception ex)
{
Log.Error(ex);
}
}
}
(извините за форматирование, я пишу это по телефону)