Как я могу убедиться, что моя программа всегда работает, и если компьютер перезагружается или процесс умирает, он может запускаться снова автоматически? - PullRequest
0 голосов
/ 21 февраля 2020

У меня есть программа, которая должна постоянно работать на сервере. Идея заключалась бы в том, что если в любой момент сервер будет перезапущен или по какой-либо причине программа закрыта, ее можно будет снова запустить автоматически.

На сервере есть установщик windows 10 и для его запуска автоматически я поместил его в автозагрузку программ, но будет ли какой-либо способ, если вы закроете программу вручную или убьете процесс, он может запуститься снова автоматически?

Программа представляет собой форму windows, разработанную в vb. сеть; нужно ли что-то добавить в проект или нужно будет потрогать в сервисах windows?

Спасибо и простите, если мой Engli sh не идеален, он не мой родной language

Функциональность программы заключается в том, что когда файл вводится в определенный каталог, он переходит к событию и обрабатывает его, внося серию изменений, добавляет его в базу данных и затем изменяет каталог. Из-за этой функциональности я должен держать ее всегда включенной и никогда не останавливаться

Ответы [ 2 ]

2 голосов
/ 21 февраля 2020

Windows Услуги - ваша ставка. Вы можете создать сопутствующую службу и использовать их обе, чтобы следить друг за другом, чтобы убедиться, что они всегда работают.

Самый простой способ создать службу Windows - это TopShelf . Если вашему приложению требуется GUI, вы можете встроить автономную службу WCF в свою службу Windows и сделать GUI вашим клиентом WCF.

Вот простой пример, показывающий , как самостоятельно -хост службы WCF .

0 голосов
/ 21 февраля 2020

Как пишут другие, лучший способ go на сервере - это сервис windows для программы и несколько дополнительных сопутствующих сервисов "watchdog" (2 из них), чтобы следить друг за другом и за Основная программа.

Однако, если вы хотите остаться с имеющейся у вас программой windows форм, есть еще один довольно простой способ:

  • Использовать планировщик задач windows ( введите taskschd.ms c в меню «Пуск»).
  • Настройка программы для запуска под учетной записью какого-либо пользователя. Пользователю не нужно входить в систему, но если вы хотите увидеть пользовательский интерфейс, лучше, чтобы он вошел в систему.
  • На одной из вкладок конфигурации есть параметр, чтобы не запускать новый экземпляр запрограммируйте, если он уже запущен.
  • Позвольте задаче запускаться один раз в минуту, неопределенно (устанавливается в конфигурации триггера). Вы можете запускать его чаще, чем раз в минуту, но для этого требуется экспортировать конфигурацию задачи, отредактировать ее вручную и снова импортировать.

Удачи!

...