Windows服务经常创建.sys文件

时间:2018-05-23 07:04:17

标签: c# .net windows-services

我使用 .Net framework 4.7 以C#作为语言创建了一个Windows服务。此服务基本上获取计算机硬件信息(CPU使用率)并将其写入日志文件(使用log4net)。在发布模式下编译服务后,当我使用 installutil 安装服务时,将创建服务并在启动服务时创建一个名称与' exe& #39;扩展名为' sys'的文件经常创建并删除。现在,当我停止服务时,它已不再创建。我以前使用.Net创建了一些Windows服务,但从未遇到过这样的行为。

Program.cs的

static void Main()
        {
#if DEBUG
                Service serv = new Service();
                serv.StartIt();
                Thread.Sleep(20000);
                serv.StopIt();
#else
                ServiceBase[] ServicesToRun;
                ServicesToRun = new ServiceBase[]
                {
                    new Service()
                };
                ServiceBase.Run(ServicesToRun);
#endif
        }

Service.cs

Timer timer = null;
        public Service()
        {
            InitializeComponent();
            timer = new Timer(1000);
            timer.Elapsed += Timer_Elapsed;
        }

        private void Timer_Elapsed(object sender, ElapsedEventArgs e)
        {
            SystemInfo si = new SystemInfo();
            si.GetSystemInfo();
        }

#if DEBUG
        public void StartIt()
        {
            timer.Start();
        }

        public void StopIt()
        {
            timer.Stop();
        }

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

        protected override void OnStop() { }
#else
        protected override void OnStart(string[] args)
        {
            timer.Start();
        }

        protected override void OnStop()
        {
            timer.Stop();
        }
#endif
  

注意:我正在使用 OpenHardwareMonitor 库来收集硬件信息。

Link to the problem description

0 个答案:

没有答案