【发布时间】:2014-11-03 14:36:59
【问题描述】:
我在 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)
不是解决方案。
在任务完成之前不会返回通用布尔值,因此我无法使用通用任务类来获取进度键。
【问题讨论】:
-
不是我的专业领域,但这篇文章可能会有所帮助blogs.msdn.com/b/dotnet/archive/2012/06/06/…
-
谢谢@bUKaneer,但根据我的理解,我不能在 WCF Web 服务上使用 Progress 类。
-
你能集成signalR吗? stackoverflow.com/a/24185477/1370442
标签: c# wcf asynchronous task