我在WCF Web服务中使用了这些方法。如何在任务完成之前从异步方法获取返回值
public async Task<bool> DoAsyncWork()
public List<Progress> GetProgress(string progressKey)
如果有可能,我想尽快得到从DoAsyncWork方法progressKey异步工作已经开始,所以我可以显示进度给用户。将progressKey作为DoAsyncWork完成的工作的关键字将进度保存在数据库中。
我的理解是,在WCF服务中有一个out参数不是一个好习惯。所以
public async Task<bool> DoAsyncWork(out string progressKey)
是不是一个解决方案。
在任务完成之前不会返回通用bool值,所以我不能使用通用任务类来获取progressKey。
本身不是我的专业领域,但本文可能有所帮助http://blogs.msdn.com/b/dotnet/archive/2012/06/06/async-in-4-5-enabling- progress-and-cancellation-in-async-apis.aspx – bUKaneer 2014-11-03 14:39:39
谢谢@bUKaneer,但根据我的说明,我无法使用WCF Web服务上的Progress类。 – AxdorphCoder 2014-11-03 14:50:09
你可以整合signalR吗? http://stackoverflow.com/a/24185477/1370442 – bUKaneer 2014-11-03 16:18:02