Я создал консольное приложение и пишу в файл каждые 2 секунды. все работает нормально:
static void Main(string[] args)
{
m_streamWriter.BaseStream.Seek(0, SeekOrigin.End);
m_streamWriter.Write(" File Write Operation Starts : ");
m_streamWriter.WriteLine("{0} {1}", DateTime.Now.ToLongTimeString(), DateTime.Now.ToLongDateString());
m_streamWriter.WriteLine(" ===================================== \n");
m_streamWriter.Flush();
timer1 = new Timer(TimerCallback, null, 0, 2000);
Console.ReadLine();
}
private static void TimerCallback(Object o)
{
m_streamWriter.WriteLine("{0} {1}", DateTime.Now.ToLongTimeString(),
DateTime.Now.ToLongDateString());
m_streamWriter.Flush();
}
Но мне нужно, чтобы это работало в фоновом режиме без появления командной строки. Поэтому я изменил тип вывода на «Windows Приложение». Теперь, когда я запускаю его, он записывает первую строку в файл, а затем все. Программа завершается после одной итерации. Таймер, конечно же, также отключается.
Как мне сохранить приложение Windows живым, пока процесс не будет остановлен вручную?
(Примечание) - я не могу выполнить службу windows, и я не знаю никаких других. Net программ, которые могут работать в фоновом режиме. Если кто-нибудь знает один, пожалуйста, поделитесь.