【发布时间】:2012-01-16 16:32:21
【问题描述】:
我尝试在我的应用程序中使用这样的任务:
Task test;
test = Task.Factory.StartNew(() => general.Login(loginName, password));
MyTextBox.Text = "test text";
它将是进行此调用的 UI 线程,我需要阻止它,直到工作线程从服务返回,但我不希望 UI 冻结。
我可以使用 ContinueWith 但这会拆分我的登录方法,这使得它更难遵循。我还需要主 UI 线程来运行此方法中的其余代码。
我该如何解决这个问题?
【问题讨论】:
-
使用 Async-CTP 或等待 C# 5。
-
如果 UI 线程阻塞,则 UI 冻结。是否要在等待任务完成时显示模态表单?
-
@CodeInChaos > 能否请您提供有关 C# 5 的更多信息?
-
async-await C# 功能允许您以看起来像普通代码的方式编写基于延续的代码。要获得此功能,您需要异步 CTP 或 C# 5。只需查看 Jon 链接的网站。
标签: c# .net parallel-processing task async-ctp