У меня есть консольное приложение, которое иногда НЕ завершается, когда я выдаю следующие 2 строки:
File.AppendAllText(@"\\bbd\FLog", "Halting: " + DateTime.UtcNow.ToString("dd-MM-yyyy HH:mm:ss") + "\n");
System.Environment.Exit(0);
Сообщение о прерывании записывается на диск, но приложение все еще живо в диспетчере задач.
Приложение использует таймер потоков:
GetRecordsTimer = new System.Threading.Timer(new TimerCallback(GetRecordsCallBack), null, 60000, 0);
Это объявлено как:
public static System.Threading.Timer GetRecordsTimer;
НО мое понимание Environment.Exit (0) состоит в том, что это убивает все (все потоки), а затем завершает работу.
Примечание. Мало того, что приложение все еще живо, но и мой файл журнала FLog, кажется, используется ...
Возможно, что AppendAllText как-то нетзакончено, если я выйду сразу после этого?