Консольные приложения не обязательно должны быть долгосрочными. При этом, вы можете сделать это. Чтобы консоль не просто выходила, вы должны иметь консольный цикл в Console.ReadLine для ожидания какой-либо строки выхода, такой как «quit».
Чтобы выполнять код каждые 10 минут, вызовите System.Threading.Timer и укажите его на свой метод выполнения с 10-минутным интервалом.
public static void Main(string[] args)
{
using (new Timer(methodThatExecutesEveryTenMinutes, null, TimeSpan.FromMinutes(10), TimeSpan.FromMinutes(10)))
{
while (true)
{
if (Console.ReadLine() == "quit")
{
break;
}
}
}
}
private static void methodThatExecutesEveryTenMinutes(object state)
{
// some code that runs every ten minutes
}
EDIT
Мне нравится комментарий Бой на ваш вопрос. Если вам действительно нужно долго работающее приложение, подумайте над тем, чтобы сделать его службой Windows. Существуют некоторые накладные расходы на разработку, но вы получаете гораздо более стабильную платформу для запуска вашего кода.