简体   繁体   English

Windows服务未启动

[英]Windows service is not starting

i used c# to create Windows service but after installing , it doesn't work and it shows nothing in log so i don't understand the error to solve it . 我使用c#创建Windows服务,但是安装后,它无法正常工作,并且在日志中什么也不显示,因此我不明白解决该错误的方法。 出现的错误

this is my on-start event 这是我的开始活动

     protected override void OnStart(string[] args)
        {
            StartSynchro();
        }
        public void StartSynchro()
        {
            while (!System.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable())
            {
              System.Threading.Thread.Sleep(TimeSpan.FromHours(1));

            }
            GoogleDriveHandler driveHandler = new GoogleDriveHandler();
            List<Google.Apis.Drive.v3.Data.File> onlineFiles = driveHandler.getFiles();
            Google.Apis.Drive.v3.Data.File onlineVerCSVFile = onlineFiles.Where(c => c.Name == GoogleDriveHandler.onlineVerCSV).First();
            onlineFiles.Remove(onlineVerCSVFile);
            List<KeyValuePair<string, string>> result = Helper.ReadFromMemoryStream(driveHandler.downloadfile_GetStream(ref onlineVerCSVFile));
            List<string> corspondingVer = new List<string>();
            foreach (var onlineFile in onlineFiles)
            {
                corspondingVer.Add(result.Find(c => c.Key == onlineFile.Name).Value);
            }

            List<Google.Apis.Drive.v3.Data.File> fileToDownload = LocalClasses.LocalFilesInfo.getFilesToDwonload(onlineFiles, corspondingVer, ref driveHandler);
            driveHandler.StartDownloading(fileToDownload);
            return;
        }

It's better to start the windows service as fast as possible. 最好尽快启动Windows服务。 You could move the initialization code to a separate thread as follows: 您可以将初始化代码移至单独的线程,如下所示:

protected override void OnStart(string[] args)
{
   Task.Run(() => StartSynchro());
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM