2015-10-28 7 views
-1

Я создал приложение для формы Windows, используя C#. Теперь мне нужно добавить службу Windows вместе с этим приложением. Я добавил новую службу Windows и добавил установщик. Я создал установщик Windows и установил его на ПК, но служба не работает. Я новичок в C#. Пожалуйста, помогите мне добавить эту услугу к установщику.Служба Windows внутри окна формы приложения

+0

«но сервис не работает» - как мы можем помочь вам, не давая нам больше информации? –

+0

Вы начали сервис? Откуда вы знаете, что он не работает? Нам нужен способ больше информации – Pavenhimself

+0

Привет всем, спасибо за ваши ответы. Основная проблема: я новичок в C#. Я комбинирую коды из Интернета. Мое требование - когда нет Интернета, данные будут храниться в файле. В этой части я обрабатываю формы окон. Теперь мне нужна услуга, которая проверяет подключение к Интернету и когда доступен интернет, она автоматически загрузит файл в веб-сервис. –

ответ

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.