2012-07-12 73 views
0

我有一个基本上允许用户搜索SQL Server 2008数据库上的数据并更新/操作它的vb.net 4.0 UI。所有与数据库的通信都是通过存储的特效进行的。其中一个更新过程最多可能需要6分钟才能处理 - 目前用户只会看到“正在处理...”消息,直到更新完成,然后显示结果。在.net 4.0 UI中运行后台任务的选项

我认为这是一个很好的后台任务候选人。我希望用户能够调用请求,然后继续在UI中执行其他工作。任务完成后,会通知他们结果。我可以通过线程来完成这个吗?我是新来的线程,但给了一些文学和一个例子或2我可以在我的路上。我做了一些Google搜索,但在示例中用户是否可以在任务执行时继续在UI中工作并不明显。是否有其他选择来完成我所描述的内容?

感谢。

回答

1

有许多选项可用于运行后台任务,但在.net 4.0中,neatest可能会使用TPL(任务并行库)。你可以执行后台任务如下:

Task.Factory.StartNew(()=>SomeMethod()); 

详细信息可以在这里找到。

http://msdn.microsoft.com/en-us/library/dd460717.aspx

但请记住,如果你需要执行这个调用返回时,任何用户界面的更新,则需要派遣,早到UI线程。

TPL还具有在分派器线程上运行延续的机制。

当后台任务正在运行时,UI线程不会被阻塞。

+0

好东西,谢谢! – Violet 2012-07-12 15:51:15