我正在尝试将文件保存在两个不同的位置。当文件成功保存在任何位置时,我想将成功返回给客户端。有两个任务(t1,t2)用于执行此操作。以下是我确定的情况:
如果t1成功保存,则将响应返回给客户端并继续执行t2。在T2的后期,如果t2无法保存文件,则调用后处理来处理t2数据。
但是,如果t1无法成功保存,则等待t2完成,现在,如果t2保存成功,则对t1数据进行后处理。
如果t1和t2都无法保存,则返回失败。
简而言之,要返回成功,其中之一必须成功保存它,如果仅成功保存了一个,则对失败之一进行后处理。
我启动了两项任务,等待一项任务完成。如果您需要更多详细信息,可以通过代码轻松地破解其余部分,请告诉我。我从控制台应用程序而不是实际应用程序复制代码。因此,在主要方法中评论了响应。
}
虽然我看到保存到不存在的位置时发生故障,但从未调用过PostProcessing方法。我如何重构该代码以使其正常工作?
答案 0 :(得分:0)
您的WriteFile方法应为async
+ Task<TaskResult>
作为返回值,因为您正在使用WriteAsync
。
另外,您应该await
WriteAsync
,因为它是基于任务的方法