none
Вопрос по сервисам. RRS feed

  • Вопрос

  • Вотъ, добрался до сервисов. Возникла проблема при установке оного.
    Вот код:

    namespace ServiceTest
    {
        public partial class Service1 : ServiceBase
        {
            public Service1()
            {
                InitializeComponent();
                CanPauseAndContinue = true;
                CanHandleSessionChangeEvent = true;
                CanShutdown = true;
                CanStop = true;
                ServiceName = "Service1";
                EventLog.WriteEntry("Service1", DateTime.Now.ToLongTimeString());
            }

            protected override void OnStart(string[] args)
            {
                ProcessWatcher();
            }

            private void ProcessWatcher()
            {
                Thread WProcess = new Thread(_ProcessWatcher);
                WProcess.Start();
            }

            public void _ProcessWatcher()
            {
                string WProc = "explorer.exe";
                while (true)
                {
                    Process[] Proc = Process.GetProcessesByName(WProc);
                    if (Proc.Length < 1)
                        Process.Start(WProc);
                    Thread.Sleep(100);
                }
            }

            protected override void OnStop()
            {
            }
        }
    }

    И еще вот такой класс:

    namespace ServiceTest
    {
        [RunInstaller(true)]
        public partial class Installer1 : System.Configuration.Install.Installer
        {
            public Installer1()
            {
                InitializeComponent();
            }
        }
    }

    Устанавливаю с помощью InstallUtil.exe
    Вот лог:
    Выполняется установка сборки 'C:\Users\<My_User_Name>\Documents\Visual Studio 2010\Projects\ServiceTest\ServiceTest\bin\Debug\ServiceTest.exe'.
    Затронуты следующие параметры:
       logtoconsole =
       assemblypath = C:\Users\<My_User_Name>\Documents\Visual Studio 2010\Projects\ServiceTest\ServiceTest\bin\Debug\ServiceTest.exe
       logfile = C:\Users\<My_User_Name>\Documents\Visual Studio 2010\Projects\ServiceTest\ServiceTest\bin\Debug\ServiceTest.InstallLog
    Выполняется фиксация сборки 'C:\Users\<My_User_Name>\Documents\Visual Studio 2010\Projects\ServiceTest\ServiceTest\bin\Debug\ServiceTest.exe'.
    Затронуты следующие параметры:
       logtoconsole =
       assemblypath = C:\Users\<My_User_Name>\Documents\Visual Studio 2010\Projects\ServiceTest\ServiceTest\bin\Debug\ServiceTest.exe
       logfile = C:\Users\<My_User_Name>\Documents\Visual Studio 2010\Projects\ServiceTest\ServiceTest\bin\Debug\ServiceTest.InstallLog

    Вроде все как бы ровно, только служба не появляется в диспетчере служб.
    И команда NET START тоже ее не видит.

    Подскажите что делать? Первый раз пишу службу.

    • Перемещено Tagore Bandlamudi 3 октября 2010 г. 0:38 MSDN Forums consolidation (От:Форум по .NET Framework)

Ответы

Все ответы