我正在使用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
方法中?