2017-06-07 37 views
0

我使用c#来创建Windows服务,但安装后,它不起作用 ,它在日志中什么也没有显示,所以我不明白解决它的错误 。 Error which is appearedWindows服务未启动

这是我在启动事件

 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; 
     } 
+3

OnStart重写如何看起来像? –

+1

查看事件查看器中的任何异常详情。 –

+0

@AlexK。事件查看器是什么意思? –

回答

1

最好是尽可能快地启动Windows服务。您可以将初始化代码移动到单独的线程,如下所示:

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

好,但我有其他问题,我如何创建目录到这个Windows服务中的用户文件? –

+0

你应该能够做到这一点,一旦你开始与管理员权限的Windows服务! – ashin