我有一个运行很长时间并写入日志文件的方法。它设置得像这样
public class PSOHelper
{
public PSOHelper(string[] params)
{
//set up params here
}
public async void RunApp(string runType)
{
//long running application that writes to a text file
}
}
然后在主程序中我这样调用这个方法:
public async Task<bool> PreparePSOAndRunPSO()
{
string[] params;
//code to fetch the parameters
PSOHelper psoH = new PSOHelper (params)
try
{
await Task.Run(() =>
{
psoH.RunApp(RunConfig.RunMode);
});
return true;
}
catch( Exception ex)
{
Helper.log.Error("exception starting PSO", ex);
return false;
}
}
现在,在我的Main方法中,我想调用PreparePSOAndRunPSO,然后在while循环中读取正在写入RunApp的日志,直到PreparePSOAndRunPSO完成。我这样做的正确方法是什么?
答案 0 :(得分:1)
有一件事是将'^0*
方法更改为async void RunApp(string runType)
。
现在这样的事情应该有效。
async Task RunApp(string runType)