Я создал приложение для формы Windows, используя C#. Теперь мне нужно добавить службу Windows вместе с этим приложением. Я добавил новую службу Windows и добавил установщик. Я создал установщик Windows и установил его на ПК, но служба не работает. Я новичок в C#. Пожалуйста, помогите мне добавить эту услугу к установщику.Служба Windows внутри окна формы приложения
-1
A
ответ
0
У приложений WinForms и шаблонов проектов служб Windows есть другой код начальной загрузки (см. Файл «Program.cs» в вашем проекте).
Это одна из форм Windows:
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
Это один из службы Windows:
ServiceBase[] ServicesToRun;
ServicesToRun = new ServiceBase[]
{
new Service1()
};
ServiceBase.Run(ServicesToRun);
Если вы хотите совместить эти виды применения в один исполняемый файл, вам нужно изменить код начальной загрузки немного:
// we need command line arguments in Main method
[STAThread]
static void Main(string[] args)
{
if (args.Length > 0 && args[0] == "service")
{
// runs service;
// generated bootstrap code was simplified a little
ServiceBase.Run(new[]
{
new Service1()
});
}
else
{
// runs GUI application
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
Теперь при установке службы вам необходимо установить команду для запуска исполняемого файла: myExe service
.
«но сервис не работает» - как мы можем помочь вам, не давая нам больше информации? –
Вы начали сервис? Откуда вы знаете, что он не работает? Нам нужен способ больше информации – Pavenhimself
Привет всем, спасибо за ваши ответы. Основная проблема: я новичок в C#. Я комбинирую коды из Интернета. Мое требование - когда нет Интернета, данные будут храниться в файле. В этой части я обрабатываю формы окон. Теперь мне нужна услуга, которая проверяет подключение к Интернету и когда доступен интернет, она автоматически загрузит файл в веб-сервис. –