Этот вопрос задавался раньше, и я выполнил инструкции, но мое приложение вылетело. Я хочу изменить имя своего приложения перед развертыванием. Я нажал «Проект», а затем выбрал «переименовать». Все переименовали. Когда я запустил приложение, оно вылетело. Я думаю, это произошло потому, что приложение не могло найти изображения и звуковые файлы из папки ресурсов. Каждая задача живет 10 ~ 20 секунд. Итак, я использую таймер для создания этих новых задач, но каждый раз, когда я воссоздаю ...
Я работаю над проектом, который создает около 20-50 новых задач каждые 30-80 секунд. Каждая задача живет от 10 до 20 секунд.
Итак, я использую Таймер для создания этих новых задач, но каждый раз, когда я воссоздаю одну и ту же задачу, код выглядит следующим образом:
public class TaskRunner : IDisposable
{
private readonly Timer timer;
public IService service;
public ThreadRunner(IService service) {
this.service = service;
timer = new Timer(10000);
timer.Elapsed += Execute;
timer.Enabled = true;
}
}
private void Execute(object sender, ElapsedEventArgs e)
{
try
{
Task.Factory.StartNew(service.Execute);
}
catch (Exception ex)
{
logger.ErrorFormat("Erro running thread {0}. {1}", service, ex);
}
}
public void Dispose()
{
timer.Dispose();
}
}
My вопрос в том, есть ли способ создать задачу и продолжать ее перезапуск, поэтому мне не нужно запускать новую задачу Task.Factory.StartNew (service.Execute); каждый раз?
Или это что-то, что Мне не о чем беспокоиться, и можно ли продолжать создавать новые задачи?
Есть ли какие-нибудь рекомендации / рекомендации о том, как мне работать в этом сценарии с такими потоками?