Как выполнить сервисный проект окон из Visual Studio.
Я создаю окна serivce в Visual Studio 2008, я должен всегда выполнять сервис от панели управления и затем присоединять отладчик к рабочему экземпляру сервиса. Ее довольно раздражающее, так как я чищу много кода и потребности перезапускать мой сервис много раз во время разработки.
Я хочу установить свой проект, чтобы смочь поразить F5 и выполнить сервис и непосредственно ввести режим отладки. Некоторые подсказки относительно того, как достигнуть этого, были бы большими.
Заранее спасибо!!!
Скопировано из здесь .
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 или запустить новый. пример. На самом деле это тот механизм, который я использую для отладки своей службы.
Создайте отдельный проект, который просто ссылается на проект службы, а также создает и запускает службу. Оно просто работает как обычное приложение, и вы можете зайти в него.
YourService s = new YourService();
s.Start();
В вашем Main ()
проверьте Debugger.IsAttached
и, если это правда, запустите приложение, как если бы это консоль, если нет, вызовите ServiceBase.Run ()
.