Почему мое приложение повторяет некоторые действия 4 раза?

Я использую Visual Studio 2017. Я работаю с Windows Form Application, Visual C#. В моей программе есть таймер с интервалом 30 секунд. Таймер запускается при методе события Form_Load. На самом деле я использую метод загрузки формы с некоторыми другими кнопками, были сделаны новые настройки, изменен пользователь и т. Д. Программа записывает в текстовый файл некоторые данные в событии таймера. Я тестирую свое приложение с его выпуском встроенного exe. В начале программа записывает текстовый файл один раз в 30 секунд. Но он делает это 4 раза после запуска программы некоторое время, возможно, через 2 часа.

Пример кода:

private void timer1_Tick(object sender, EventArgs e)
{
    System.IO.File.AppendAllText(somefilepath, somestringdata + "\r\n");
}

На самом деле, есть некоторые другие процессы, которые должны быть выполнены при событии таймера. Но они не о добавлении текстового файла. Только код выше есть. Так вы можете помочь мне, ребята? Моя мысль о том, почему это происходит, это настройка "Использовать параллельные сборки". В "Инструменты -> Параметры -> Проекты и решения -> Построить и запустить" есть опция "Максимальное количество параллельных сборок проектов". И это "4" в моих настройках. Может быть, я должен сделать что-то, чтобы моя программа работала правильно с этим значением 4.

Вот изображение:

Варианты VS

Как я могу заставить это работать должным образом? Пишите в текстовый файл только один раз в 30 секунд, как я хочу и как я закодировал, как.

Редактировать: Я закрыл и открыл программу, она пишет в текстовый файл только один раз в 30 секунд. Он работает так, как должен, поэтому речь идет не о размере текстового файла. Возможно, через некоторое время компьютер создаст еще один экземпляр программы. Является ли это возможным? Если да, могу ли я сделать это правильно с Mutex?

0 ответов

Другие вопросы по тегам