如何使用TopShelf异步构建Windows服务

时间:2019-06-28 07:35:11

标签: .net asynchronous topshelf

我正在使用np.int64来运行TopShelf服务,并且我想知道如果获得了windows的某些依赖项,那么构建该服务的可行方法是什么?据我检查,asynchronously没有Async超载

服务

ConstructUsing

主要

Class MyService
{
  public string ServiceData {get;set;}
  public static async Task<MyService> CreateAsync()
  {
     var data=await SomeAsyncOperation();
     MyService serv=new MyService(data);
     return serv;
  }
}

我应该只通过static async Task Main(string[] args) { var exitCode = HostFactory.Run(x => { x.Service<MyService>(s => { s.ConstructUsing((h) =>MyService.CreateAsync().Result); }); x.RunAsLocalSystem(); }); int exitCodeValue = (int)Convert.ChangeType(exitCode, exitCode.GetTypeCode()); Environment.ExitCode = exitCodeValue; } 中定义的Task.Run通过CancellationToken来运行我的服务,还是应该只使用Main。 在Task.Result方法中?

0 个答案:

没有答案