как выполнить сервис окон (F5) из Visual Studio

Как выполнить сервисный проект окон из Visual Studio.

Я создаю окна serivce в Visual Studio 2008, я должен всегда выполнять сервис от панели управления и затем присоединять отладчик к рабочему экземпляру сервиса. Ее довольно раздражающее, так как я чищу много кода и потребности перезапускать мой сервис много раз во время разработки.

Я хочу установить свой проект, чтобы смочь поразить F5 и выполнить сервис и непосредственно ввести режим отладки. Некоторые подсказки относительно того, как достигнуть этого, были бы большими.

Заранее спасибо!!!

30
задан Pomster 11 May 2012 в 02:25
поделиться

3 ответа

Скопировано из здесь .

static void Main(string[] args)  
{  
    DemoService service = new DemoService();  

    if (Environment.UserInteractive)  
    {  
        service.OnStart(args);  
        Console.WriteLine("Press any key to stop program");  
        Console.Read();  
        service.OnStop();  
    }  
    else 
    {  
        ServiceBase.Run(service);  
    }  
}  

Это должно позволить вам работать из Visual Studio.

Другой способ - встроить программную точку останова в код, вызвав System.Diagnostics.Debugger.Break () . Когда вы помещаете это, скажем, в обратный вызов OnStart () вашей службы и запускаете службу из консоли служб, программная точка останова запускает диалоговое окно, которое позволяет вам подключиться к существующему экземпляру Visual Studio или запустить новый. пример. На самом деле это тот механизм, который я использую для отладки своей службы.

28
ответ дан 28 November 2019 в 00:06
поделиться

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

YourService s = new YourService();
s.Start();
2
ответ дан 28 November 2019 в 00:06
поделиться

В вашем Main () проверьте Debugger.IsAttached и, если это правда, запустите приложение, как если бы это консоль, если нет, вызовите ServiceBase.Run () .

7
ответ дан 28 November 2019 в 00:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: