Нужно предложение по замене обслуживания Windows на приложение Invisible Winform

StackOverflow https://stackoverflow.com/questions/4813138

Вопрос

Мне нужно фоновое приложение для поддержки моего клиентского приложения, которое всегда должно работать на клиентской машине, независимо от того, что основное клиентское приложение работает или нет.

Сервис Windows был моим первым выбором, но проблемы, с которыми я столкнулся со службой Windows: простота управления сервисом Windows через основное клиентское приложение, выпуск и установка исправлений в службу Windows и устранение неполадок, если Service Windows не выполняется.

Итак, я начал думать о альтернативах службы Windows и обнаружил, что приложение Windows Forms без видимых форм может сделать это для меня. Это невидимое приложение должно начинаться с запуска системы и постоянно работать, выполняя всю работу, которую будет выполнять службу Windows. Но прежде чем я углубится в развитие, я хочу исследовать плюсы и минусы этого подхода.

Есть предложения/комментарии по этому подходу?

Это было полезно?

Решение

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

Чтобы разобраться в вопросах развертывания, вы создаете свою бизнес -логику в отдельную сборку и вызываете необходимую функцию с обслуживанием Windows. Таким образом, вы можете развернуть только модифицированную сборку.

Приложение Winform с невидимой формой не будет служить цели. Hth

Другие советы

Это невозможно. Пользовательские приложения должны начинаться пользователем и не будут продолжать работать, когда этот пользователь выходит из входа. Это цель SessionEnding Событие: чтобы позволить вам изящно отключить свое приложение, когда пользователь выходит в систему или компьютер выключается. Вы не можете просто запустить что -то при запуске системы и постоянно продолжать работать.

Вам нужна служба Windows для этого. Но вы должны знать, что под Windows Vista, а затем служба не может напрямую взаимодействовать с пользователем. Они работают в отдельном процессе и ограничены отображением своего собственного пользовательского интерфейса. Из вопроса неясно, каковы ваши потребности, но это важное ограничение услуги Windows, которую стоит рассмотреть. Надлежащий дизайн действительно не должен потребовать этого, но, очевидно, есть много людей, для которых это новое, более безопасное поведение является настоящим сюрпризом. Я объясняю это более подробно в связанных ответах на этот вопрос а также Этот другой вопрос.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top